Touch screen device, method, and graphical user interface for providing maps, directions, and location-based information

ABSTRACT

A device, method, and graphical user interface for providing maps, directions, and location-based information on a touch screen display are disclosed.

RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No.12/143,752, filed Jun. 20, 2008, which claims priority to U.S.Provisional Patent Application Nos. 61/019,296, “Portable MultifunctionDevice, Method, and Graphical User Interface for Providing Maps,Directions, and Location-Based Information,” filed Jan. 6, 2008;61/019,295, “Portable Multifunction Device, Method, and Graphical UserInterface for Displaying and Selecting Application Options,” filed Jan.6, 2008; 60/937,993, “Portable Multifunction Device,” filed Jun. 29,2007; 60/936,725, “Portable Multifunction Device, Method, and GraphicalUser Interface for Providing Maps and Directions,” filed Jun. 22, 2007.All of these applications are incorporated by reference herein in theirentirety.

This application is related to the following applications: (1) U.S.patent application Ser. No. 10/188,182, “Touch Pad For Handheld Device,”filed Jul. 1, 2002; (2) U.S. patent application Ser. No. 10/722,948,“Touch Pad For Handheld Device,” filed Nov. 25, 2003; (3) U.S. patentapplication Ser. No. 10/643,256, “Movable Touch Pad With AddedFunctionality,” filed Aug. 18, 2003; (4) U.S. patent application Ser.No. 10/654,108, “Ambidextrous Mouse,” filed Sep. 2, 2003; (5) U.S.patent application Ser. No. 10/840,862, “Multipoint Touchscreen,” filedMay 6, 2004; (6) U.S. patent application Ser. No. 10/903,964, “GesturesFor Touch Sensitive Input Devices,” filed Jul. 30, 2004; (7) U.S. patentapplication Ser. No. 11/038,590, “Mode-Based Graphical User InterfacesFor Touch Sensitive Input Devices” filed Jan. 18, 2005; (8) U.S. patentapplication Ser. No. 11/057,050, “Display Actuator,” filed Feb. 11,2005; (9) U.S. patent application Ser. No. 11/969,211, “PortableMultifunction Device, Method, and Graphical User Interface for ProvidingMaps and Directions,” filed Jan. 3, 2008; (10) U.S. Provisional PatentApplication No. 61/019,295, “Portable Multifunction Device, Method, andGraphical User Interface for Displaying and Selecting ApplicationOptions,” filed Jan. 6, 2008; and (11) U.S. patent application Ser. No.12/143,741, “Portable Multifunction Device, Method, and Graphical UserInterface for Displaying and Selecting Application Options,” filed Jun.20, 2008. All of these applications are incorporated by reference hereinin their entirety.

TECHNICAL FIELD

The disclosed embodiments relate generally to devices with touch screendisplays, and more particularly, to devices with touch screen displaysthat provide maps and directions.

BACKGROUND

As portable electronic devices become more compact, and the number offunctions performed by a given device increase, it has become asignificant challenge to design a user interface that allows users toeasily interact with a multifunction device. This challenge isparticular significant for handheld portable devices, which have muchsmaller screens than desktop or laptop computers. This situation isunfortunate because the user interface is the gateway through whichusers receive not only content but also responses to user actions orbehaviors, including user attempts to access a device's features, tools,and functions. Some portable communication devices (e.g., mobiletelephones, sometimes called mobile phones, cell phones, cellulartelephones, and the like) have resorted to adding more pushbuttons,increasing the density of push buttons, overloading the functions ofpushbuttons, or using complex menu systems to allow a user to access,store and manipulate data. These conventional user interfaces oftenresult in complicated key sequences and menu hierarchies that must bememorized by the user.

Many conventional user interfaces, such as those that include physicalpushbuttons, are also inflexible. This is unfortunate because it mayprevent a user interface from being configured and/or adapted by eitheran application running on the portable device or by users. When coupledwith the time consuming requirement to memorize multiple key sequencesand menu hierarchies, and the difficulty in activating a desiredpushbutton, such inflexibility is frustrating to most users.

For example, mapping applications are available for mobile phones (e.g.,Google maps for mobile, available at www.google.com/gmm). But navigatingin such applications using physical push buttons (e.g., the number keyson a hard keyboard) or touch screens in existing mobile phones iscumbersome for most users. Thus, at present, relatively few people usemapping applications in mobile phones and other portable devices.

Accordingly, there is a need for devices with touch screen displays thathave more transparent and intuitive user interfaces for providing maps,directions, and location-based information. Such interfaces increase theeffectiveness, efficiency and user satisfaction with such devices.

SUMMARY

The above deficiencies and other problems associated with userinterfaces for devices with touch screen displays are reduced oreliminated by the disclosed multifunction device. In some embodiments,the device is portable. In some embodiments, the device has atouch-sensitive display (also known as a “touch screen”) with agraphical user interface (GUI), one or more processors, memory and oneor more modules, programs or sets of instructions stored in the memoryfor performing multiple functions. In some embodiments, the userinteracts with the GUI primarily through finger contacts and gestures onthe touch-sensitive display. In some embodiments, the functions mayinclude providing maps and directions, telephoning, video conferencing,e-mailing, instant messaging, blogging, digital photographing, digitalvideoing, web browsing, digital music playing, and/or digital videoplaying. Instructions for performing these functions may be included ina computer readable storage medium or other computer program productconfigured for execution by one or more processors.

In accordance with some embodiments, a device having a touch screendisplay is configured to display a map application, which is configuredto separately display a list of bookmarked locations, a list of recentqueries by a user, and a list of contacts for the user. In response todetecting a finger gesture on an input icon associated with a searchterm input area, the map application displays at least one of the listof bookmarked locations, the list of recent queries by a user, and thelist of contacts for the user. In response to detecting a finger gestureon a bookmarked location in the list of bookmarked locations, an areacorresponding to the bookmarked location is displayed on a digital map.In response to detecting a finger gesture on a recent query in the listof recent queries by the user, one or more results corresponding to therecent query are displayed on a digital map. And in response todetecting a finger gesture on a contact in the list of contacts, an areaassociated with the contact is displayed on a digital map.

In accordance with some embodiments, a device having a touch screendisplay is configured to display a map application. The map applicationis configured to simultaneously display a bookmark list display icon, arecent query list display icon, and a contact list display icon, and isalso configured to separately display a list of bookmarked locations, alist of recent queries by a user, and a list of contacts for the user.In response to detecting a finger gesture on the bookmark list displayicon, the map application displays the list of bookmarked locations. Inresponse to detecting a finger gesture on a bookmarked location in thelist of bookmarked locations, the map application displays an areacorresponding to the bookmarked location on a digital map. In responseto detecting a finger gesture on the recent query list display icon, themap application displays the list of recent queries by the user. And inresponse to detecting a finger gesture on a recent query in the list ofrecent queries by the user, the map application displays one or moreresults corresponding to the recent query on a digital map.

In accordance with some embodiments, a computing device having a touchscreen display is configured to operate as follows. In response todetecting a finger gesture on a route search initiation icon, the devicesends a first location and a second location to a remote computer,receives routing information between the first location and the secondlocation, and displays at least some of the routing information betweenthe first location and the second location on a digital map. In responseto detecting a finger gesture on a list icon, the device displays anitemized list of the routing information, and in response to detecting afinger gesture on a particular item in the itemized list of the routinginformation, the device shows a corresponding portion of routinginformation on the digital map.

In accordance with some embodiments, a computer-implemented method isperformed at a computing device with a touch screen display. In themethod, a map application is displayed. The map application isconfigured to display a map. A first finger gesture on an icon foradding a user-moveable location marker to the map is detected. Theuser-moveable location marker is displayed on the map. In response todetecting a second finger gesture on the user-moveable location marker,the user-moveable location marker is moved on the map in accordance withthe second finger gesture. While displaying the map and theuser-moveable location marker, a user-selectable region for obtaininginformation associated with a current location of the user-moveablelocation marker is displayed on the map. In response to detecting athird finger gesture on the user-selectable region for obtaininginformation, the display of the map and the user-moveable locationmarker is replaced with a display of a plurality of option icons. Theplurality of option icons includes a first icon, a second icon, and athird icon. In response to detection of a finger gesture on the firsticon, the display of the plurality of icons is replaced with a displayof a user interface for adding an entry to a set of bookmarkedlocations, the added entry corresponding to the current location of theuser-moveable location marker on the map. In response to detection of afinger gesture on the second icon, the display of the plurality of iconsis replaced with a display of a user interface for getting directions tothe current location of the user-moveable location marker on the mapfrom another location. In response to detection of a finger gesture onthe third icon, the display of the plurality of icons is replaced with adisplay of a user interface for getting directions from the currentlocation of the user-moveable location marker on the map to anotherlocation.

In accordance with some embodiments, a computing device comprises atouch screen display one or more processors, memory; and one or moreprograms. The one or more programs are stored in the memory andconfigured to be executed by the one or more processors. The one or moreprograms include instructions for displaying a map application. The mapapplication is configured to display a map. The programs alsoinstructions for detecting a first finger gesture on an icon for addinga user-moveable location marker to the map and for displaying theuser-moveable location marker on the map. The programs further includeinstructions for moving the user-moveable location marker on the map inresponse to detecting a second finger gesture on the user-moveablelocation marker, in accordance with the second finger gesture. Theprograms further include instructions for, while displaying the map andthe user-moveable location marker, displaying a user-selectable regionfor obtaining information associated with a current location of theuser-moveable location marker on the map. The programs further includeinstructions for, in response to detecting a third finger gesture on theuser-selectable region for obtaining information, replacing the displayof the map and the user-moveable location marker with a display of aplurality of option icons. The plurality of option icons include a firsticon, a second icon, and a third icon. In response to detection of afinger gesture on the first icon, the display of the plurality of iconsis replaced with a display of a user interface for adding an entry to aset of bookmarked locations, the added entry corresponding to thecurrent location of the user-moveable location marker on the map. Inresponse to detection of a finger gesture on the second icon, thedisplay of the plurality of icons is replaced with a display of a userinterface for getting directions to the current location of theuser-moveable location marker on the map from another location. Inresponse to detection of a finger gesture on the third icon, the displayof the plurality of icons is replaced with a display of a user interfacefor getting directions from the current location of the user-moveablelocation marker on the map to another location.

In accordance with some embodiments, a computer readable storage mediumhas stored instructions, which when executed by a device with a touchscreen display cause the device to display a flat version of anapplication interface. The instructions also cause the device to displaya map application. The map application is configured to display a map.The instructions also cause the device to detect first finger gesture onan icon for adding a user-moveable location marker to the map anddisplay the user-moveable location marker on the map. The instructionsalso cause the device to, in response to detecting a second fingergesture on the user-moveable location marker, move the user-moveablelocation marker on the map in accordance with the second finger gesture.The instructions also cause the device to, while displaying the map andthe user-moveable location marker, display a user-selectable region forobtaining information associated with a current location of theuser-moveable location marker on the map. In response to detecting athird finger gesture on the user-selectable region for obtaininginformation, the instructions cause the device to replace the display ofthe map and the user-moveable location marker with a display of aplurality of option icons. The plurality of option icons include a firsticon, a second icon, and a third icon. In response to detection of afinger gesture on the first icon, the instructions cause the device toreplace the display of the plurality of icons with a display of a userinterface for adding an entry to a set of bookmarked locations, theadded entry corresponding to the current location of the user-moveablelocation marker on the map. In response to detection of a finger gestureon the second icon, the instructions cause device to replace the displayof the plurality of icons with a display of a user interface for gettingdirections to the current location of the user-moveable location markeron the map from another location. In response to detection of a fingergesture on the third icon, the instructions cause the device to replacethe display of the plurality of icons with a display of a user interfacefor getting directions from the current location of the user-moveablelocation marker on the map to another location.

In accordance with some embodiments, a graphical user interface (GUI) ona device with a touch screen display comprises a map application,wherein the map application is configured to display a map, an icon foradding a user-moveable location marker to the map, a user-selectableregion for obtaining information associated with a current location ofthe user-moveable location marker, a plurality of option icons,including a first icon, a second icon, and a third icon. When a firstfinger gesture is detected on the icon for adding a user-moveablelocation marker to the map, the user-moveable location marker on the mapis displayed on the map. In response to detecting a second fingergesture on the user-moveable location marker, the user-moveable locationmarker on the map is moved in accordance with the second finger gesture.While displaying the map and the user-moveable location marker, theuser-selectable region for obtaining information associated with acurrent location of the user-moveable location marker is displayed onthe map. In response to detecting a third finger gesture on theuser-selectable region for obtaining information, the display of the mapand the user-moveable location marker is replaced with a display of theplurality of option icons; the first icon, the second icon, and thethird icon. In response to detection of a finger gesture on the firsticon, the display of the plurality of icons is replaced with a displayof a user interface for adding an entry to a set of bookmarkedlocations, the added entry corresponding to the current location of theuser-moveable location marker on the map. In response to detection of afinger gesture on the second icon, the display of the plurality of iconsis replaced with a display of a user interface for getting directions tothe current location of the user-moveable location marker on the mapfrom another location. In response to detection of a finger gesture onthe third icon, the display of the plurality of icons is replaced with adisplay of a user interface for getting directions from the currentlocation of the user-moveable location marker on the map to anotherlocation.

In accordance with some embodiments, a device with a touch screendisplay comprises means for displaying a map application, wherein themap application is configured to display a map, and means for detectinga first finger gesture on an icon for adding a user-moveable locationmarker to the map. The device also comprises means for displaying theuser-moveable location marker on the map and means for, in response todetecting a second finger gesture on the user-moveable location marker,moving the user-moveable location marker on the map in accordance withthe second finger gesture. The device further comprises means for, whiledisplaying the map and the user-moveable location marker, displaying auser-selectable region for obtaining information associated with acurrent location of the user-moveable location marker on the map, andmeans for, in response to detecting a third finger gesture on theuser-selectable region for obtaining information, replacing the displayof the map and the user-moveable location marker with a display of aplurality of option icons. The plurality of option icons include a firsticon, a second icon, and a third icon. In response to detection of afinger gesture on the first icon, the display of the plurality of iconsis replaced with a display of a user interface for adding an entry to aset of bookmarked locations, the added entry corresponding to thecurrent location of the user-moveable location marker on the map. Inresponse to detection of a finger gesture on the second icon, thedisplay of the plurality of icons is replaced with a display of a userinterface for getting directions to the current location of theuser-moveable location marker on the map from another location; and inresponse to detection of a finger gesture on the third icon, the displayof the plurality of icons is replaced with a display of a user interfacefor getting directions from the current location of the user-moveablelocation marker on the map to another location.

In accordance with some embodiments, a computer-implemented method isperformed at a computing device with a touch screen display. In themethod, in response to detecting a first finger gesture on a marker on adigital map on the touch screen display, the digital map on the touchscreen display is moved. The first finger gesture moves a finger contactarea more than a first predetermined distance in a first predeterminedtime when a finger in the first finger gesture initially touches thetouch screen display. In response to detecting a second finger gestureon the marker on the digital map on the touch screen display, auser-selectable region for obtaining information associated with themarker is displayed on the touch screen display. The second fingergesture is a single tap gesture that moves a finger contact area lessthan a second predetermined distance and lasts less than a secondpredetermined time. In response to detecting a third finger gesture on auser-moveable location marker on the digital map on the touch screendisplay, the user-moveable location marker is moved on the digital mapin accordance with the third finger gesture. The third finger gestureincludes a substantially stationary contact. The substantiallystationary contact moves a finger contact area less than a thirdpredetermined distance and lasts more than the second predeterminedtime, followed by translation of the finger contact area on the touchscreen display after the second predetermined time ends.

In accordance with some embodiments, a computing device comprises atouch screen display, one or more processors, memory, and one or moreprograms. The one or more programs are stored in the memory andconfigured to be executed by the one or more processors. The one or moreprograms include instructions for moving the digital map on the touchscreen display in response to detecting a first finger gesture on amarker on a digital map on the touch screen display. The first fingergesture moves a finger contact area more than a first predetermineddistance in a first predetermined time when a finger in the first fingergesture initially touches the touch screen display. The programs alsoinclude instructions for, in response to detecting a second fingergesture on the marker on the digital map on the touch screen display,displaying a user-selectable region for obtaining information associatedwith the marker on the touch screen display. The second finger gestureis a single tap gesture that moves a finger contact area less than asecond predetermined distance and lasts less than a second predeterminedtime. The one or more programs also include instructions for, inresponse to detecting a third finger gesture on a user-moveable locationmarker on the digital map on the touch screen display, moving theuser-moveable location marker on the digital map in accordance with thethird finger gesture. The third finger gesture includes a substantiallystationary contact. The substantially stationary contact moves a fingercontact area less than a third predetermined distance and lasts morethan the second predetermined time, followed by translation of thefinger contact area on the touch screen display after the secondpredetermined time ends.

In accordance with some embodiments, a computer readable storage mediumhas stored instructions, which when executed by a device with a touchscreen display cause the device to, in response to detecting a firstfinger gesture on a marker on a digital map on the touch screen display,move the digital map on the touch screen display. The first fingergesture moves a finger contact area more than a first predetermineddistance in a first predetermined time when a finger in the first fingergesture initially touches the touch screen display. The instructionswhen executed by the device also cause the device to, in response todetecting a second finger gesture on the marker on the digital map onthe touch screen display, display a user-selectable region for obtaininginformation associated with the marker on the touch screen display. Thesecond finger gesture is a single tap gesture that moves a fingercontact area less than a second predetermined distance and lasts lessthan a second predetermined time. The instructions when executed by thedevice also cause the device to in response to detecting a third fingergesture on a user-moveable location marker on the digital map on thetouch screen display, move the user-moveable location marker on thedigital map in accordance with the third finger gesture. The thirdfinger gesture includes a substantially stationary contact. Thesubstantially stationary contact moves a finger contact area less than athird predetermined distance and lasts more than the secondpredetermined time, followed by translation of the finger contact areaon the touch screen display after the second predetermined time ends.

In accordance with some embodiments, a graphical user interface (GUI) ona device with a touch screen display comprises a marker on a digitalmap, and a user-selectable region for obtaining information associatedwith the marker on the touch screen display. In response to detecting afirst finger gesture on the marker on the digital map on the touchscreen display, the digital map on the touch screen display is moved.The first finger gesture moves a finger contact area more than a firstpredetermined distance in a first predetermined time when a finger inthe first finger gesture initially touches the touch screen display. Inresponse to detecting a second finger gesture on the marker on thedigital map on the touch screen display, the user-selectable region forobtaining information associated with the marker is displayed on thetouch screen display. The second finger gesture is a single tap gesturethat moves a finger contact area less than a second predetermineddistance and lasts less than a second predetermined time. In response todetecting a third finger gesture on a user-moveable location marker onthe digital map on the touch screen display, the user-moveable locationmarker is moved on the digital map in accordance with the third fingergesture. The third finger gesture includes a substantially stationarycontact. The substantially stationary contact moves a finger contactarea less than a third predetermined distance and lasts more than thesecond predetermined time, followed by translation of the finger contactarea on the touch screen display after the second predetermined timeends.

In accordance with some embodiments, a device with a touch screendisplay comprises means for, in response to detecting a first fingergesture on a marker on a digital map on the touch screen display, movingthe digital map on the touch screen display, wherein the first fingergesture moves a finger contact area more than a first predetermineddistance in a first predetermined time when a finger in the first fingergesture initially touches the touch screen display. The device alsocomprises means for, in response to detecting a second finger gesture onthe marker on the digital map on the touch screen display, displaying auser-selectable region for obtaining information associated with themarker on the touch screen display, wherein the second finger gesture isa single tap gesture that moves a finger contact area less than a secondpredetermined distance and lasts less than a second predetermined time.The device further comprises means for, in response to detecting a thirdfinger gesture on a user-moveable location marker on the digital map onthe touch screen display, moving the user-moveable location marker onthe digital map in accordance with the third finger gesture, wherein thethird finger gesture includes a substantially stationary contact. Thesubstantially stationary contact moves a finger contact area less than athird predetermined distance and lasts more than the secondpredetermined time, followed by translation of the finger contact areaon the touch screen display after the second predetermined time ends.

In accordance with some embodiments, a computer-implemented method isperformed at a computing device with a touch screen display. In themethod, a map application is displayed, wherein the map application isconfigured to display a map. Location information for the computingdevice is received. In response to detecting a user gesture on a viewlocation icon while the map application is displayed, a first visualindicator is displayed on a portion of the displayed map that indicatesan approximate region in which the computing device is located inaccordance with the received location information when the approximateregion lies within the displayed map, and a second visual indicator isdisplayed around a perimeter of the displayed map when the approximateregion includes the displayed map and also extends beyond the displayedmap. The displayed first visual indicator is changed to the secondvisual indicator in response to magnifying an area of the map thatincludes the approximate region in which the computing device islocated. The displayed second visual indicator is changed to the firstvisual indicator in response to demagnifying an area of the map thatincludes the approximate region in which the computing device islocated.

In accordance with some embodiments, a computing device comprises atouch screen display, one or more processors, memory, and one or moreprograms. The one or more programs are stored in the memory andconfigured to be executed by the one or more processors. The one or moreprograms include instructions for displaying a map application, whereinthe map application is configured to display a map. The one or moreprograms also include instructions for receiving location informationfor the computing device, and instructions for, in response to detectinga user gesture on a view location icon while the map application isdisplayed, displaying a first visual indicator on a portion of thedisplayed map that indicates an approximate region in which thecomputing device is located in accordance with the received locationinformation when the approximate region lies within the displayed map,and displaying a second visual indicator around a perimeter of thedisplayed map when the approximate region includes the displayed map andalso extends beyond the displayed map. The one or more programs alsoinclude instructions for changing from displaying the first visualindicator to displaying the second visual indicator in response tomagnifying an area of the map that includes the approximate region inwhich the computing device is located, and instructions for changingfrom displaying the second visual indicator to displaying the firstvisual indicator in response to demagnifying an area of the map thatincludes the approximate region in which the computing device islocated.

In accordance with some embodiments, a computer readable storage mediumhas stored instructions, which when executed by a device with a touchscreen display cause the device to display a map application, whereinthe map application is configured to display a map. The instructions,when executed by the device also cause the device to receive locationinformation for the computing device, and in response to detecting auser gesture on a view location icon while the map application isdisplayed, display a first visual indicator on a portion of thedisplayed map that indicates an approximate region in which thecomputing device is located in accordance with the received locationinformation when the approximate region lies within the displayed map,and display a second visual indicator around a perimeter of thedisplayed map when the approximate region includes the displayed map andalso extends beyond the displayed map. The instructions, when executedby the device also cause the device to change from displaying the firstvisual indicator to displaying the second visual indicator in responseto magnifying an area of the map that includes the approximate region inwhich the computing device is located, and change from displaying thesecond visual indicator to displaying the first visual indicator inresponse to demagnifying an area of the map that includes theapproximate region in which the computing device is located.

In accordance with some embodiments, a graphical user interface (GUI) ona device with a touch screen display comprises a map application. Themap application is configured to display a map. The GUI also comprises aview location icon, a first visual indicator, and a second visualindicator. Location information for the computing device is received. Inresponse to detecting a user gesture on the view location icon while themap application is displayed, the first visual indicator is displayed ona portion of the displayed map that indicates an approximate region inwhich the computing device is located in accordance with the receivedlocation information when the approximate region lies within thedisplayed map. Also in response to detecting a user gesture on the viewlocation icon while the map application is displayed, a second visualindicator is displayed around a perimeter of the displayed map when theapproximate region includes the displayed map and also extends beyondthe displayed map. In response to magnifying an area of the map thatincludes the approximate region in which the computing device islocated, the displayed first visual indicator is changed to the secondvisual indicator. In response to demagnifying an area of the map thatincludes the approximate region in which the computing device islocated, the displayed second visual indicator is changed to the firstvisual indicator.

In accordance with some embodiments, a device with a touch screendisplay comprises means for displaying a map application. The mapapplication is configured to display a map. The device also comprisesmeans for receiving location information for the computing device. Thedevice also comprises means for, in response to detecting a user gestureon a view location icon while the map application is displayed,displaying a first visual indicator on a portion of the displayed mapthat indicates an approximate region in which the computing device islocated in accordance with the received location information when theapproximate region lies within the displayed map, and displaying asecond visual indicator around a perimeter of the displayed map when theapproximate region includes the displayed map and also extends beyondthe displayed map. The device further comprises means for changing fromdisplaying the first visual indicator to displaying the second visualindicator in response to magnifying an area of the map that includes theapproximate region in which the computing device is located, and meansfor changing from displaying the second visual indicator to displayingthe first visual indicator in response to demagnifying an area of themap that includes the approximate region in which the computing deviceis located.

In accordance with some embodiments, a computer-implemented method isperformed at a computing device with a touch screen display. In themethod, a map application is displayed, wherein the map application isconfigured to separately display: a list of bookmarked locations,wherein a current location of the device is displayed at the top of thelist of bookmarked locations; a list of recent queries by a user; a listof contacts for the user; and a keyboard with a route search initiationicon. A first area fir entering a first location is displayed. A secondarea for entering a second location is also displayed. In response todetecting a finger gesture on an input icon associated with the firstarea, the device displays: the list of bookmarked locations, wherein inresponse to detecting a finger gesture on a bookmarked location in thelist of bookmarked locations, the map application receives an address orname, corresponding to the bookmarked location, when the address or nameis entered in the first area; the list of recent queries by the user,wherein in response to detecting a finger gesture on a location in thelist of recent queries by the user, the map application receives anaddress corresponding to the location when the address is entered in thefirst area; or the list of contacts for the user, wherein in response todetecting a finger gesture on a contact in the list of contacts for theuser, the map application receives an address associated with thecontact when the address is entered in the first area. In response todetecting a finger gesture on an input icon associated with the secondarea, the device displays: the list of bookmarked locations, wherein inresponse to detecting a finger gesture on a bookmarked location in thelist of bookmarked locations, the map application receives an address orname, corresponding to the bookmarked location, when the address or namecorresponding to the bookmarked location is entered in the second area;the list of recent queries by the user, wherein in response to detectinga finger gesture on a location in the list of recent queries by theuser, the map application receives an address corresponding to thelocation when the address corresponding to the location is entered inthe second area; or the list of contacts for the user, wherein inresponse to detecting an finger gesture on a contact in the list ofcontacts for the user, the map application receives an addressassociated with the contact when the address associated with the contactis entered in the second area. In response to detecting a finger gestureon the route search initiation icon; the device sends the first locationand the second location to a remote computer; receives routinginformation between the first location and the second location; anddisplays at least some of the routing information between the firstlocation and the second location on a digital map.

In accordance with some embodiments, a computing device comprises atouch screen display, one or more processors, memory, and one or moreprograms. The one or more programs are stored in the memory andconfigured to be executed by the one or more processors. The one or moreprograms include instructions for displaying a map application. The mapapplication is configured to separately display: a list of bookmarkedlocations, wherein a current location of the device is displayed at thetop of the list of bookmarked locations; a list of recent queries by auser, a list of contacts for the user, and a keyboard with a routesearch initiation icon. The one or more programs also includeinstructions for: displaying a first area for entering a first location;displaying a second area for entering a second location; in response todetecting a finger gesture on an input icon associated with the firstarea, displaying: the list of bookmarked locations, wherein in responseto detecting a finger gesture on a bookmarked location in the list ofbookmarked locations, the map application receives an address or name,corresponding to the bookmarked location, when the address or name isentered in the first area; the list of recent queries by the user,wherein in response to detecting a finger gesture on a location in thelist of recent queries by the user, the map application receives anaddress corresponding to the location when the address is entered in thefirst area; or the list of contacts for the user, wherein in response todetecting a finger gesture on a contact in the list of contacts for theuser, the map application receives an address associated with thecontact when the address is entered in the first area; in response todetecting a finger gesture on an input icon associated with the secondarea, displaying: the list of bookmarked locations, wherein in responseto detecting a finger gesture on a bookmarked location in the list ofbookmarked locations, the map application receives an address or name,corresponding to the bookmarked location, when the address or namecorresponding to the bookmarked location is entered in the second area;the list of recent queries by the user, wherein in response to detectinga finger gesture on a location in the list of recent queries by theuser, the map application receives an address corresponding to thelocation when the address corresponding to the location is entered inthe second area; or the list of contacts for the user, wherein inresponse to detecting an finger gesture on a contact in the list ofcontacts for the user, the map application receives an addressassociated with the contact when the address associated with the contactis entered in the second area; and in response to detecting a fingergesture on the route search initiation icon: sending the first locationand the second location to a remote computer; receiving routinginformation between the first location and the second location; anddisplaying at least some of the muting information between the firstlocation and the second location on a digital map.

In accordance with some embodiments, a computer readable storage mediumhas stored therein instructions, which when executed by a device with atouch screen display, cause the device to display a map application. Themap application is configured to separately display: a list ofbookmarked locations, wherein a current location of the device isdisplayed at the top of the list of bookmarked locations; a list ofrecent queries by a user; a list of contacts for the user; and akeyboard with a mute search initiation icon, the instructions also causethe device to: display a first area for entering a first location;display a second area for entering a second location; in response todetecting a finger gesture on an input icon associated with the firstarea, display: the list of bookmarked locations, wherein in response todetecting a finger gesture on a bookmarked location in the list ofbookmarked locations, the map application receives an address or name,corresponding to the bookmarked location, when the address or name isentered in the first area; the list of recent queries by the user,wherein in response to detecting a finger gesture on a location in thelist of recent queries by the user, the map application receives anaddress corresponding to the location when the address is entered in thefirst area; or the list of contacts for the user, wherein in response todetecting a finger gesture on a contact in the list of contacts for theuser, the map application receives an address associated with thecontact when the address is entered in the first area; in response todetecting a finger gesture on an input icon, associated with the secondarea, display: the list of bookmarked locations, wherein in response todetecting a finger gesture on a bookmarked location in the list ofbookmarked locations, the map application receives an address or name,corresponding to the bookmarked location, when the address or namecorresponding to the bookmarked location is entered in the second area;the list of recent queries by the user, wherein in response to detectinga finger gesture on a location in the list of recent queries by theuser, the map application receives an address corresponding to thelocation when the address corresponding to the location is entered inthe second area; or the list of contacts for the user, wherein inresponse to detecting an finger gesture on a contact in the list ofcontacts for the user, the map application receives an addressassociated with the contact when the address associated with the contactis entered in the second area; and in response to detecting a fingergesture on the route search initiation icon: send the first location andthe second location to a remote computer, receive routing informationbetween the first location and the second location; and display at leastsome of the muting information between the first location and the secondlocation on a digital map.

In accordance with some embodiments, a graphical user interface for amap application on a device with a touch screen display, includes: adigital map; a list of bookmarked locations, wherein a current locationof the device is displayed at the top of the list of bookmarkedlocations; a list of recent queries by a user, a list of contacts forthe user; a keyboard with a route search initiation icon; a first areafor entering a first location; an input icon associated with the firstarea; a second area for entering a second location; and an input iconassociated with the second area. In response to detecting a fingergesture on the input icon associated with the first area; the list ofbookmarked locations is displayed, wherein in response to detecting afinger gesture on a bookmarked location in the list of bookmarkedlocations, the map application receives an address or name,corresponding to the bookmarked location, when the address or name isentered in the first area; the list of recent queries by the user isdisplayed, wherein in response to detecting a finger gesture on alocation in the list of recent queries by the user, the map applicationreceives an address corresponding to the location when the address isentered in the first area; or the list of contacts for the user isdisplayed, wherein in response to detecting a finger gesture on acontact in the list of contacts for the user, the map applicationreceives an address associated with the contact when the address isentered in the first area. In response to detecting a finger gesture onthe input icon associated with the second area; the list of bookmarkedlocations is displayed, wherein in response to detecting a fingergesture on a bookmarked location in the list of bookmarked locations,the map application receives an address or name, corresponding to thebookmarked location, when the address or name corresponding to thebookmarked location is entered in the second area; the list of recentqueries by the user is displayed, wherein in response to detecting afinger gesture on a location in the list of recent queries by the user,the map application receives an address corresponding to the locationwhen the address corresponding to the location is entered in the secondarea; or the list of contacts for the user is displayed, wherein inresponse to detecting an finger gesture on a contact in the list ofcontacts for the user, the map application receives an addressassociated with the contact when the address associated with the contactis entered in the second area. In response to detecting a finger gestureon the route search initiation icon: the first location and the secondlocation is sent to a remote computer; muting information between thefirst location and the second location is received; and at least some ofthe routing information between the first location and the secondlocation is displayed on the digital map.

In accordance with some embodiments, a device with a touch screendisplay, includes: means for displaying a map application. The mapapplication is configured to separately display: a list of bookmarkedlocations, wherein a current location of the device is displayed at thetop of the list of bookmarked locations; a list of recent queries by auser; a list of contacts for the user; and a keyboard with a mute searchinitiation icon. The device also includes: means for displaying a firstarea for entering a first location; means for displaying a second areafor entering a second location; means for, in response to detecting afinger gesture on an input icon associated with the first area,displaying: the list of bookmarked locations, wherein in response todetecting a finger gesture on a bookmarked location in the list ofbookmarked locations, the map application receives an address or name,corresponding to the bookmarked location, when the address or name isentered in the first area; the list of recent queries by the user,wherein in response to detecting a finger gesture on a location in thelist of recent queries by the user, the map application receives anaddress corresponding to the location when the address is entered in thefirst area; or the list of contacts for the user, wherein in response todetecting a finger gesture on a contact in the list of contacts for theuser, the map application receives an address associated with thecontact when the address is entered in the first area; means for, inresponse to detecting a finger gesture on an input icon associated withthe second area, displaying: the list of bookmarked locations, whereinin response to detecting a finger gesture on a bookmarked location inthe list of bookmarked locations, the map application receives anaddress or name, corresponding to the bookmarked location, when theaddress or name corresponding to the bookmarked location is entered inthe second area; the list of recent queries by the user, wherein inresponse to detecting a finger gesture on a location in the list ofrecent queries by the user, the map application receives an addresscorresponding to the location when the address corresponding to thelocation is entered in the second area; or the list of contacts for theuser, wherein in response to detecting an finger gesture on a contact inthe list of contacts for the user, the map application receives anaddress associated with the contact when the address associated with thecontact is entered in the second area; and means for, in response todetecting a finger gesture on the route search initiation icon: sendingthe first location and the second location to a remote computerreceiving routing information between the first location and the secondlocation; and displaying at least some of the muting information betweenthe first location and the second location on a digital map.

In accordance with some embodiments, a computer-implemented method isperformed at a computing device with a touch screen display. In themethod, a map application is displayed. The map application isconfigured to display a map. In response to detecting a stationary firstfinger gesture on the displayed map for greater than a predeterminedtime, a user-moveable location marker is displayed on the map. Inresponse to detecting a second finger gesture on the user-moveablelocation marker, the user-moveable location marker is moved on the mapin accordance with the second finger gesture. While displaying the mapand the user-moveable location marker, a user-selectable region forobtaining information associated with a current location of theuser-moveable location marker is displayed on the map. In response todetecting a third finger gesture on the user-selectable region forobtaining information, the display of the map and the user-moveablelocation marker is replaced with a display of a plurality of optionicons. The plurality of option icons include a first icon, a secondicon, and a third icon. In response to detection of a finger gesture onthe first icon, the display of the plurality of icons is replaced with adisplay of a user interface for adding an entry to a set of bookmarkedlocations, the added entry corresponding to the current location of theuser-moveable location marker on the map. In response to detection of afinger gesture on the second icon, the display of the plurality of iconsis replaced with a display of a user interface for getting directions tothe current location of the user-moveable location marker on the mapfrom another location. In response to detection of a finger gesture onthe third icon, the display of the plurality of icons is replaced with adisplay of a user interface for getting directions from the currentlocation of the user-moveable location marker on the map to anotherlocation.

In accordance with some embodiments, a computing device comprises atouch screen display, one or more processors, memory, and one or moreprograms. The one or more programs are stored in the memory andconfigured to be executed by the one or more processors. The one or moreprograms include instructions for displaying a map application. The mapapplication is configured to display a map. The programs also includeinstructions for, in response to detecting a stationary first fingergesture on the displayed map for greater than a predetermined time,displaying a user-moveable location marker on the map. The programs alsoinclude instructions for, in response to detecting a second fingergesture on the user-moveable location marker, moving the user-moveablelocation marker on the map in accordance with the second finger gesture.The programs also include instructions for, while displaying the map andthe user-moveable location marker, displaying a user-selectable regionfor obtaining information associated with a current location of theuser-moveable location marker on the map. The programs also includeinstructions for, in response to detecting a third finger gesture on theuser-selectable region for obtaining information, replacing the displayof the map and the user-moveable location marker with a display of aplurality of option icons. The plurality of option icons include a firsticon, a second icon, and a third icon. The programs also includeinstructions for, in response to detection of a finger gesture on thefirst icon, replacing the display of the plurality of icons with adisplay of a user interface for adding an entry to a set of bookmarkedlocations, the added entry corresponding to the current location of theuser-moveable location marker on the map. The programs also includeinstructions for, in response to detection of a finger gesture on thesecond icon, replacing the display of the plurality of icons with adisplay of a user interface for getting directions to the currentlocation of the user-moveable location marker on the map from anotherlocation. The programs further include instructions for, in response todetection of a finger gesture on the third icon, replacing the displayof the plurality of icons with a display of a user interface for gettingdirections from the current location of the user-moveable locationmarker on the map to another location.

In accordance with some embodiments, a computer readable storage mediumhas stored instructions, which when executed by a device with a touchscreen display cause the device to display a map application, whereinthe map application is configured to display a map. The instructions,when executed by the device also cause the device to, in response todetecting a stationary first finger gesture on the displayed map forgreater than a predetermined time, display a user-moveable locationmarker on the map. The instructions, when executed by the device alsocause the device to, in response to detecting a second finger gesture onthe user-moveable location marker, move the user-moveable locationmarker on the map in accordance with the second finger gesture. Theinstructions, when executed by the device also cause the device to,while displaying the map and the user-moveable location marker, displaya user-selectable region for obtaining information associated with acurrent location of the user-moveable location marker on the map. Theinstructions, when executed by the device also cause the device to, inresponse to detecting a third finger gesture on the user-selectableregion for obtaining information, replace the display of the map and theuser-moveable location marker with a display of a plurality of optionicons. The plurality of option icons include a first icon, a secondicon, and third icon. The instructions, when executed by the device alsocause the device to, in response to detection of a finger gesture on thefirst icon, replace the display of the plurality of icons with a displayof a user interface for adding an entry to a set of bookmarkedlocations, the added entry corresponding to the current location of theuser-moveable location marker on the map. The instructions, whenexecuted by the device also cause the device to, in response todetection of a finger gesture on the second icon, replace the display ofthe plurality of icons with a display of a user interface for gettingdirections to the current location of the user-moveable location markeron the map from another location. The instructions, when executed by thedevice also cause the device to, in response to detection of a fingergesture on the third icon, replace the display of the plurality of iconswith a display of a user interface for getting directions from thecurrent location of the user-moveable location marker on the map toanother location.

In accordance with some embodiments, a graphical user interface (GUI) ona device with a touch screen display comprises a map application,wherein the map application is configured to display a map. The GUI alsocomprises a user-moveable location marker, a user-selectable region forobtaining information associated with a current location of theuser-moveable location marker on the map, and a plurality of optionicons, wherein the plurality of option icons include a first icon, asecond icon, and a third icon. In response to detecting a stationaryfirst finger gesture on the displayed map for greater than apredetermined time, the user-moveable location marker is displayed onthe map. In response to detecting a second finger gesture on theuser-moveable location marker, the user-moveable location marker ismoved on the map in accordance with the second finger gesture. Whiledisplaying the map and the user-moveable location marker, theuser-selectable region is displayed on the map. In response to detectinga third finger gesture on the user-selectable region for obtaininginformation, the display of the map and the user-moveable locationmarker is replaced with a display of the plurality of option icons. Inresponse to detection of a finger gesture on the first icon, the displayof the plurality of icons is replaced with a display of a user interfacefor adding an entry to a set of bookmarked locations, the added entrycorresponding to the current location of the user-moveable locationmarker on the map. In response to detection of a finger gesture on thesecond icon, the display of the plurality of icons is replaced with adisplay of a user interface for getting directions to the currentlocation of the user-moveable location marker on the map from anotherlocation. In response to detection of a finger gesture on the thirdicon, the display of the plurality of icons is replaced with a displayof a user interface for getting directions from the current location ofthe user-moveable location marker on the map to another location.

In accordance with some embodiments, a device with a touch screendisplay comprises means for displaying a map application, wherein themap application is configured to display a map. The device alsocomprises means for, in response to detecting a stationary first fingergesture on the displayed map for greater than a predetermined time,displaying a user-moveable location marker on the map, and means for, inresponse to detecting a second finger gesture on the user-moveablelocation marker, moving the user-moveable location marker on the map inaccordance with the second finger gesture. The device also comprisesmeans for, while displaying the map and the user-moveable locationmarker, displaying a user-selectable region for obtaining informationassociated with a current location of the user-moveable location markeron the map. The device also comprises means for, in response todetecting a third finger gesture on the user-selectable region forobtaining information, replacing the display of the map and theuser-moveable location marker with a display of a plurality of optionicons, wherein the plurality of option icons include a first icon, asecond icon, and a third icon. The device also comprises, means for inresponse to detection of a finger gesture on the first icon, replacingthe display of the plurality of icons with a display of a user interfacefor adding an entry to a set of bookmarked locations, the added entrycorresponding to the current location of the user-moveable locationmarker on the map. The device also comprises means for, in response todetection of a finger gesture on the second icon, replacing the displayof the plurality of icons with a display of a user interface for gettingdirections to the current location of the user-moveable location markeron the map from another location. The device also comprises means for,in response to detection of a finger gesture on the third icon,replacing the display of the plurality of icons with a display of a userinterface for getting directions from the current location of theuser-moveable location marker on the map to another location.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments of theinvention as well as additional embodiments thereof, reference should bemade to the Description of Embodiments below, in conjunction with thefollowing drawings in which like reference numerals refer tocorresponding parts throughout the figures.

FIGS. 1A and 1B are block diagrams illustrating portable multifunctiondevices with touch-sensitive displays in accordance with someembodiments.

FIG. 2 illustrates a portable multifunction device having a touch screenin accordance with some embodiments.

FIG. 3 illustrates an exemplary user interface for unlocking a portableelectronic device in accordance with some embodiments.

FIGS. 4A and 4B illustrate exemplary user interfaces for a menu ofapplications on a portable multifunction device in accordance with someembodiments.

FIGS. 5A-5AA illustrate exemplary user interfaces for a map applicationin accordance with some embodiments.

FIGS. 6A-6C illustrate exemplary user interfaces for displaying anapproximate location of a computing device on a map in accordance withsome embodiments.

FIG. 7 is flow diagram illustrating a method of displaying anapproximate location of a computing device on a map in accordance withsome embodiments.

FIG. 8A illustrates an exemplary user interface for displaying andselecting application options in accordance with some embodiments.

FIG. 8B illustrates an exemplary user interface with user-requestedinformation overlaid on a map in accordance with some embodiments.

FIG. 9 is a flow diagram illustrating a method of displaying andselecting application options in accordance with some embodiments.

FIG. 10A illustrates an exemplary user interface for displaying a mapapplication with a user-moveable location marker in accordance with someembodiments.

FIG. 10B illustrates an exemplary user interface for displayinguser-selectable option icons associated with a user-moveable locationmarker in accordance with some embodiments.

FIG. 10C illustrates an exemplary user interface for obtainingdirections to a location corresponding to a user-moveable locationmarker in accordance with some embodiments.

FIG. 10D illustrates an exemplary user interface for obtainingdirections from a location corresponding to a user-moveable locationmarker in accordance with some embodiments.

FIG. 10E illustrates an exemplary user interface for adding a locationmarker to a set of bookmarks in accordance with some embodiments.

FIG. 10F illustrates an exemplary user interface with a current locationof a computing device included in a list of bookmarks in accordance withsome embodiments.

FIG. 11 is a flow diagram illustrating a method for displaying andmoving a user-moveable location marker on a map in accordance with someembodiments.

FIGS. 12A-12E illustrate examples of user interactions with a displayedmap, a user-moveable location marker, and information associated withthe location marker via finger gestures in accordance with someembodiments.

FIG. 13 is a flow diagram illustrating a method for interacting with adisplayed map and a location marker in accordance with some embodiments.

FIG. 14 is a flow diagram illustrating a method for obtaining directionsin accordance with some embodiments.

FIG. 15 is a flow diagram illustrating a method for displaying andmoving a user-moveable location marker on a map in accordance with someembodiments.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the present invention. However, it will beapparent to one of ordinary skill in the art that the present inventionmay be practiced without these specific details. In other instances,well-known methods, procedures, components, circuits, and networks havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

It will also be understood that, although the terms first, second, etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first gesture could be termed asecond gesture, and, similarly, a second gesture could be termed a firstgesture, without departing from the scope of the present invention.

The terminology used in the description of the invention herein is forthe purpose of describing particular embodiments only and is notintended to be limiting of the invention. As used in the description ofthe invention and the appended claims, the singular forms “a”, “an” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will also be understood that theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill be further understood that the terms “comprises” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in response to detecting,” dependingon the context. Similarly, the phrase “if it is determined” or “if [astated condition or event] is detected” may be construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event],” depending on the context.

Embodiments of a portable multifunction device, user interfaces for suchdevices, and associated processes for using such devices are described.In some embodiments, the device is a portable communications device suchas a mobile telephone that also contains other functions, such as PDAand/or music player functions.

The user interface may include a physical click wheel in addition to atouch screen or a virtual click wheel displayed on the touch screen. Aclick wheel is a user-interface device that may provide navigationcommands based on an angular displacement of the wheel or a point ofcontact with the wheel by a user of the device. A click wheel may alsobe used to provide a user command corresponding to selection of one ormore items, for example, when the user of the device presses down on atleast a portion of the wheel or the center of the wheel. Alternatively,breaking contact with a click wheel image on a touch screen surface mayindicate a user command corresponding to selection. For simplicity, inthe discussion that follows, a portable multifunction device thatincludes a touch screen is used as an exemplary embodiment. It should beunderstood, however, that some of the user interfaces and associatedprocesses may be applied to other devices, such as personal computersand laptop computers, which may include one or more other physicaluser-interface devices, such as a physical click wheel, a physicalkeyboard, a mouse and/or a joystick.

The device supports a variety of applications, such as one or more ofthe following: a telephone application, a video conferencingapplication, an e-mail application, an instant messaging application, ablogging application, a photo management application, a digital cameraapplication, a digital video camera application, a web browsingapplication, a digital music player application, and/or a digital videoplayer application.

The various applications that may be executed on the device may use atleast one common physical user-interface device, such as the touchscreen. One or more functions of the touch screen as well ascorresponding information displayed on the device may be adjusted and/orvaried from one application to the next and/or within a respectiveapplication. In this way, a common physical architecture (such as thetouch screen) of the device may support the variety of applications withuser interfaces that are intuitive and transparent.

The user interfaces may include one or more soft keyboard embodiments.The soft keyboard embodiments may include standard (QWERTY) and/ornon-standard configurations of symbols on the displayed icons of thekeyboard, such as those described in U.S. patent application Ser. No.11/459,606, “Keyboards For Portable Electronic Devices,” filed Jul. 24,2006, and Ser. No. 11/459,615, “Touch Screen Keyboards For PortableElectronic Devices,” filed Jul. 24, 2006, the contents of which arehereby incorporated by reference in their entirety. The keyboardembodiments may include a reduced number of icons (or soft keys)relative to the number of keys in existing physical keyboards, such asthat for a typewriter. This may make it easier for users to select oneor more icons in the keyboard, and thus, one or more correspondingsymbols. The keyboard embodiments may be adaptive. For example,displayed icons may be modified in accordance with user actions, such asselecting one or more icons and/or one or more corresponding symbols.One or more applications on the portable device may utilize commonand/or different keyboard embodiments. Thus, the keyboard embodimentused may be tailored to at least some of the applications. In someembodiments, one or more keyboard embodiments may be tailored to arespective user. For example, one or more keyboard embodiments may betailored to a respective user based on a word usage history(lexicography, slang, individual usage) of the respective user. Some ofthe keyboard embodiments may be adjusted to reduce a probability of auser error when selecting one or more icons, and thus one or moresymbols, when using the soft keyboard embodiments.

Attention is now directed towards embodiments of the device. FIGS. 1Aand 1B are block diagrams illustrating portable multifunction devices100 with touch-sensitive displays 112 in accordance with someembodiments. The touch-sensitive display 112 is sometimes called a“touch screen” for convenience, and may also be known as or called atouch-sensitive display system. The device 100 may include a memory 102(which may include one or more computer readable storage mediums), amemory controller 122, one or more processing units (CPU's) 120, aperipherals interface 118, RF circuitry 108, audio circuitry 110, aspeaker 111, a microphone 113, an input/output (I/O) subsystem 106,other input or control devices 116, and an external port 124. The device100 may include one or more optical sensors 164. These components maycommunicate over one or more communication buses or signal lines 103.

It should be appreciated that the device 100 is only one example of aportable multifunction device 100, and that the device 100 may have moreor fewer components than shown, may combine two or more components, or amay have a different configuration or arrangement of the components. Thevarious components shown in FIGS. 1A and 1B may be implemented inhardware, software or a combination of both hardware and software,including one or more signal processing and/or application specificintegrated circuits.

Memory 102 may include high-speed random access memory and may alsoinclude non-volatile memory, such as one or more magnetic disk storagedevices, flash memory devices, or other non-volatile solid-state memorydevices. Access to memory 102 by other components of the device 100,such as the CPU 120 and the peripherals interface 118, may be controlledby the memory controller 122.

The peripherals interface 118 couples the input and output peripheralsof the device to the CPU 120 and memory 102. The one or more processors120 run or execute various software programs and/or sets of instructionsstored in memory 102 to perform various functions for the device 100 andto process data.

In some embodiments, the peripherals interface 118, the CPU 120, and thememory controller 122 may be implemented on a single chip, such as achip 104. In some other embodiments, they may be implemented on separatechips.

The RF (radio frequency) circuitry 108 receives and sends RF signals,also called electromagnetic signals. The RF circuitry 108 convertselectrical signals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. The RF circuitry 108 may include well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. The RFcircuitry 108 may communicate with networks, such as the Internet, alsoreferred to as the World Wide Web (WWW), an intranet and/or a wirelessnetwork, such as a cellular telephone network, a wireless local areanetwork (LAN) and/or a metropolitan area network (MAN), and otherdevices by wireless communication. The wireless communication may useany of a plurality of communications standards, protocols andtechnologies, including but not limited to Global System for MobileCommunications (GSM), Enhanced Data GSM Environment (EDGE), high-speeddownlink packet access (HSDPA), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a,IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n), voice over InternetProtocol (VoIP), Wi-MAX, a protocol for email (e.g., Internet messageaccess protocol (IMAP) and/or post office protocol (POP)), instantmessaging (e.g., extensible messaging and presence protocol (XMPP),Session Initiation Protocol for Instant Messaging and PresenceLeveraging Extensions (SIMPLE), and/or instant Messaging and PresenceService (IMPS)), and/or Short Message Service (SMS)), or any othersuitable communication protocol, including communication protocols notyet developed as of the filing date of this document.

The audio circuitry 110, the speaker 111, and the microphone 113 providean audio interface between a user and the device 100. The audiocircuitry 110 receives audio data from the peripherals interface 118,converts the audio data to an electrical signal, and transmits theelectrical signal to the speaker 111. The speaker 111 converts theelectrical signal to human-audible sound waves. The audio circuitry 110also receives electrical signals converted by the microphone 113 fromsound waves. The audio circuitry 110 converts the electrical signal toaudio data and transmits the audio data to the peripherals interface 118for processing. Audio data may be retrieved from and/or transmitted tomemory 102 and/or the RF circuitry 108 by the peripherals interface 118.In some embodiments, the audio circuitry 110 also includes a headsetjack (e.g. 212, FIG. 2). The headset jack provides an interface betweenthe audio circuitry 110 and removable audio input/output peripherals,such as output-only headphones or a headset with both output (e.g., aheadphone for one or both ears) and input (e.g., a microphone).

The I/O subsystem 106 couples input/output peripherals on the device100, such as the touch screen 112 and other input/control devices 116,to the peripherals interface 118. The I/O subsystem 106 may include adisplay controller 156 and one or more input controllers 160 for otherinput or control devices. The one or more input controllers 160receive/send electrical signals from/to other input or control devices116. The other input/control devices 116 may include physical buttons(e.g., push buttons, rocker buttons, etc.), dials, slider switches,joysticks, click wheels, and so forth. In some alternate embodiments,input controller(s) 160 may be coupled to any (or none) of thefollowing: a keyboard, infrared port, USB port, and a pointer devicesuch as a mouse. The one or more buttons (e.g., 208, FIG. 2) may includean up/down button for volume control of the speaker 111 and/or themicrophone 113. The one or more buttons may include a push button (e.g.,206, FIG. 2). A quick press of the push button may disengage a lock ofthe touch screen 112 or begin a process that uses gestures on the touchscreen to unlock the device, as described in U.S. patent applicationSer. No. 11/322,549, “Unlocking a Device by Performing Gestures on anUnlock Image,” filed Dec. 23, 2005, which is hereby incorporated byreference in its entirety. A longer press of the push button (e.g., 206)may turn power to the device 100 on or off. The user may be able tocustomize a functionality of one or more of the buttons. The touchscreen 112 is used to implement virtual or soft buttons and one or moresoft keyboards.

The touch-sensitive touch screen 112 provides an input interface and anoutput interface between the device and a user. The display controller156 receives and/or sends electrical signals from/to the touch screen112. The touch screen 112 displays visual output to the user. The visualoutput may include graphics, text, icons, video, and any combinationthereof (collectively termed “graphics”). In some embodiments, some orall of the visual output may correspond to user-interface objects,further details of which are described below.

A touch screen 112 has a touch-sensitive surface, sensor or set ofsensors that accepts input from the user based on haptic and/or tactilecontact. The touch screen 112 and the display controller 156 (along withany associated modules and/or sets of instructions in memory 102) detectcontact (and any movement or breaking of the contact) on the touchscreen 112 and converts the detected contact into interaction withuser-interface objects (e.g., one or more soft keys, icons, web pages orimages) that are displayed on the touch screen. In an exemplaryembodiment, a point of contact between a touch screen 112 and the usercorresponds to a finger of the user.

The touch screen 112 may use LCD (liquid crystal display) technology, orLPD (light emitting polymer display) technology, although other displaytechnologies may be used in other embodiments. The touch screen 112 andthe display controller 156 may detect contact and any movement orbreaking thereof using any of a plurality of touch sensing technologiesnow known or later developed, including but not limited to capacitive,resistive, infrared, and surface acoustic wave technologies, as well asother proximity sensor arrays or other elements for determining one ormore points of contact with a touch screen 112.

A touch-sensitive display in some embodiments of the touch screen 112may be analogous to the multi-touch sensitive tablets described in thefollowing U.S. Pat. No. 6,323,846 (Westerman et al.), U.S. Pat. No.6,570,557 (Westerman et al.), and/or U.S. Pat. No. 6,677,932(Westerman), and/or U.S. Patent Publication 2002/0015024A1, each ofwhich is hereby incorporated by reference in its entirety. However, atouch screen 112 displays visual output from the portable device 100,whereas touch sensitive tablets do not provide visual output.

A touch-sensitive display in some embodiments of the touch screen 112may be as described in the following applications: (1) U.S. patentapplication Ser. No. 11/381,313, “Multipoint Touch Surface Controller,”filed May 2, 2006; (2) U.S. patent application Ser. No. 10/840,862,“Multipoint Touchscreen,” filed May 6, 2004; (3) U.S. patent applicationSer. No. 10/903,964, “Gestures For Touch Sensitive Input Devices,” filedJul. 30, 2004; (4) U.S. patent application Ser. No. 11/048,264,“Gestures For Touch Sensitive Input Devices,” filed Jan. 31, 2005; (5)U.S. patent application Ser. No. 11/038,590, “Mode-Based Graphical UserInterfaces For Touch Sensitive Input Devices,” filed Jan. 18, 2005; (6)U.S. patent application Ser. No. 11/228,758, “Virtual Input DevicePlacement On A Touch Screen User Interface,” filed Sep. 16, 2005; (7)U.S. patent application Ser. No. 11/228,700, “Operation Of A ComputerWith A Touch Screen Interface,” filed Sep. 16, 2005; (8) U.S. patentapplication Ser. No. 11/228,737, “Activating Virtual Keys Of ATouch-Screen Virtual Keyboard,” filed Sep. 16, 2005; and (9) U.S. patentapplication Ser. No. 11/367,749, “Multi-Functional Hand-Held Device,”filed Mar. 3, 2006. All of these applications are incorporated byreference herein in their entirety.

The touch screen 112 may have a resolution in excess of 100 dpi. In anexemplary embodiment, the touch screen has a resolution of approximately160 dpi. The user may make contact with the touch screen 112 using anysuitable object or appendage, such as a stylus, a finger, and so forth.In some embodiments, the user interface is designed to work primarilywith finger-based contacts and gestures, which are much less precisethan stylus-based input due to the larger area of contact of a finger onthe touch screen. In some embodiments, the device translates the roughfinger-based input into a precise pointer/cursor position or command forperforming the actions desired by the user.

In some embodiments, in addition to the touch screen, the device 100 mayinclude a touchpad (not shown) for activating or deactivating particularfunctions. In some embodiments, the touchpad is a touch-sensitive areaof the device that, unlike the touch screen, does not display visualoutput. The touchpad may be a touch-sensitive surface that is separatefrom the touch screen 112 or an extension of the touch-sensitive surfaceformed by the touch screen.

In some embodiments, the device 100 may include a physical or virtualclick wheel as an input control device 116. A user may navigate amongand interact with one or more graphical objects (henceforth referred toas icons) displayed in the touch screen 112 by rotating the click wheelor by moving a point of contact with the click wheel (e.g., where theamount of movement of the point of contact is measured by its angulardisplacement with respect to a center point of the click wheel). Theclick wheel may also be used to select one or more of the displayedicons. For example, the user may press down on at least a portion of theclick wheel or an associated button. User commands and navigationcommands provided by the user via the click wheel may be processed by aninput controller 160 as well as one or more of the modules and/or setsof instructions in memory 102. For a virtual click wheel, the clickwheel and click wheel controller may be part of the touch screen 112 andthe display controller 156, respectively. For a virtual click wheel, theclick wheel may be either an opaque or semitransparent object thatappears and disappears on the touch screen display in response to userinteraction with the device. In some embodiments, a virtual click wheelis displayed on the touch screen of a portable multifunction device andoperated by user contact with the touch screen.

The device 100 also includes a power system 162 for powering the variouscomponents. The power system 162 may include a power management system,one or more power sources (e.g., battery, alternating current (AC)), arecharging system, a power failure detection circuit, a power converteror inverter, a power status indicator (e.g., a light-emitting diode(LED)) and any other components associated with the generation,management and distribution of power in portable devices.

The device 100 may also include one or more optical sensors 164. FIGS.1A and 1B show an optical sensor coupled to an optical sensor controller158 in I/O subsystem 106. The optical sensor 164 may includecharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. The optical sensor 164 receives light from theenvironment, projected through one or more lens, and converts the lightto data representing an image. In conjunction with an imaging module 143(also called a camera module), the optical sensor 164 may capture stillimages or video. In some embodiments, an optical sensor is located onthe back of the device 100, opposite the touch screen display 112 on thefront of the device, so that the touch screen display may be used as aviewfinder for either still and/or video image acquisition. In someembodiments, an optical sensor is located on the front of the device sothat the user's image may be obtained for videoconferencing while theuser views the other video conference participants on the touch screendisplay. In some embodiments, the position of the optical sensor 164 canbe changed by the user (e.g., by rotating the lens and the sensor in thedevice housing) so that a single optical sensor 164 may be used alongwith the touch screen display for both video conferencing and stilland/or video image acquisition.

The device 100 may also include one or more proximity sensors 166. FIGS.1A and 1B show a proximity sensor 166 coupled to the peripheralsinterface 118. Alternately, the proximity sensor 166 may be coupled toan input controller 160 in the I/O subsystem 106. The proximity sensor166 may perform as described in U.S. patent application Ser. No.11/241,839. “Proximity Detector In Handheld Device.” filed Sep. 30,3005; Ser. No. 11/240,788, “Proximity Detector In Handheld Device,”filed Sep. 30, 3005; Ser. No. 11/620,702, “Using Ambient Light Sensor ToAugment Proximity Sensor Output”; Ser. No. 11/586,862, “AutomatedResponse To And Sensing Of User Activity In Portable Devices,” filedOct. 24, 2006; and Ser. No. 11/638,251, “Methods And Systems ForAutomatic Configuration Of Peripherals,” which are hereby incorporatedby reference in their entirety. In some embodiments, the proximitysensor turns off and disables the touch screen 112 when themultifunction device is placed near the user's ear (e.g., when the useris making a phone call). In some embodiments, the proximity sensor keepsthe screen off when the device is in the user's pocket, purse, or otherdark area to prevent unnecessary battery drainage when the device is alocked state.

The device 100 may also include one or more accelerometers 168. FIGS. 1Aand 1B show an accelerometer 168 coupled to the peripherals interface118. Alternately, the accelerometer 168 may be coupled to an inputcontroller 160 in the I/O subsystem 106. The accelerometer 168 mayperform as described in U.S. Patent Publication No. 20050190059,“Acceleration-based Theft Detection System for Portable ElectronicDevices,” and U.S. Patent Publication No. 20060017692, “Methods AndApparatuses For Operating A Portable Device Based On An Accelerometer,”both of which are which are incorporated by reference herein in theirentirety. In some embodiments, information is displayed on the touchscreen display in a portrait view or a landscape view based on ananalysis of data received from the one or more accelerometers.

In some embodiments, the software components stored in memory 102 mayinclude an operating system 126, a communication module (or set ofinstructions) 128, a contact/motion module (or set of instructions) 130,a graphics module (or set of instructions) 132, a text input module (orset of instructions) 134, a Global Positioning System (GPS) module (orset of instructions) 135, and applications (or set of instructions) 136.

The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

The communication module 128 facilitates communication with otherdevices over one or more external ports 124 and also includes varioussoftware components for handling data received by the RF circuitry 108and/or the external port 124. The external port 124 (e.g., UniversalSerial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly toother devices or indirectly over a network (e.g., the Internet, wirelessLAN, etc.). In some embodiments, the external port is a multi-pin (e.g.,30-pin) connector that is the same as, or similar to and/or compatiblewith the 30-pin connector used on iPod (trademark of Apple Computer,Inc.) devices.

The contact/motion module 130 may detect contact with the touch screen112 (in conjunction with the display controller 156) and other touchsensitive devices (e.g., a touchpad or physical click wheel). Thecontact/motion module 130 includes various software components forperforming various operations related to detection of contact, such asdetermining if contact has occurred, determining if there is movement ofthe contact and tracking the movement across the touch screen 112, anddetermining if the contact has been broken (i.e., if the contact hasceased). Determining movement of the point of contact may includedetermining speed (magnitude), velocity (magnitude and direction),and/or an acceleration (a change in magnitude and/or direction) of thepoint of contact. These operations may be applied to single contacts(e.g., one finger contacts) or to multiple simultaneous contacts (e.g.,“multitouch”/multiple finger contacts). In some embodiments, thecontact/motion module 130 and the display controller 156 also detectscontact on a touchpad. In some embodiments, the contact/motion module130 and the controller 160 detects contact on a click wheel.

The graphics module 132 includes various known software components forrendering and displaying graphics on the touch screen 112, includingcomponents for changing the intensity of graphics that are displayed. Asused herein, the term “graphics” includes any object that can bedisplayed to a user, including without limitation text, web pages, icons(such as user-interface objects including soft keys), digital images,videos, animations and the like.

The text input module 134, which may be a component of graphics module132, provides soft keyboards for entering text in various applications(e.g., contacts 137, e-mail 140, IM 141, blogging 142, browser 147, andany other application that needs text input).

The GPS module 135 determines the location of the device and providesthis information for use in various applications (e.g., to telephone 138for use in location-based dialing, to camera 143 and/or blogger 142 aspicture/video metadata, and to applications that provide location-basedservices such as weather widgets, local yellow page widgets, andmap/navigation widgets).

The applications 136 may include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   a contacts module 137 (sometimes called an address book or        contact list);    -   a telephone module 138;    -   a video conferencing module 139;    -   an e-mail client module 140;    -   an instant messaging (IM) module 141;    -   a blogging module 142;    -   a camera module 143 for still and/or video images;    -   an image management module 144;    -   a video player module 145;    -   a music player module 146;    -   a browser module 147;    -   a calendar module 148;    -   widget modules 149, which may include weather widget 149-1,        stocks widget 149-2, calculator widget 149-3, alarm clock widget        149-4, dictionary widget 149-5, and other widgets obtained by        the user, as well as user-created widgets 149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which merges video player        module 145 and music player module 146;    -   notes module 153;    -   map module 154; and/or    -   online video module 155.

Examples of other applications 136 that may be stored in memory 102include other word processing applications, JAVA-enabled applications,encryption, digital rights management, voice recognition, and voicereplication.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, the contactsmodule 137 may be used to manage an address book or contact list,including: adding name(s) to the address book; deleting name(s) from theaddress book; associating telephone number(s), e-mail address(es),physical address(es) or other information with a name; associating animage with a name; categorizing and sorting names; providing telephonenumbers or e-mail addresses to initiate and/or facilitate communicationsby telephone 138, video conference 139, e-mail 140, or IM 141; and soforth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, contact module130, graphics module 132, and text input module 134, the telephonemodule 138 may be used to enter a sequence of characters correspondingto a telephone number, access one or more telephone numbers in theaddress book 137, modify a telephone number that has been entered, diala respective telephone number, conduct a conversation and disconnect orhang up when the conversation is completed. As noted above, the wirelesscommunication may use any of a plurality of communications standards,protocols and technologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch screen 112, display controller 156, optical sensor164, optical sensor controller 158, contact module 130, graphics module132, text input module 134, contact list 137, and telephone module 138,the videoconferencing module 139 may be used to initiate, conduct, andterminate a video conference between a user and one or more otherparticipants.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the e-mail client module 140 may be used to create, send,receive, and manage e-mail. In conjunction with image management module144, the e-mail module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the instant messaging module 141 may be used to enter asequence of characters corresponding to an instant message, to modifypreviously entered characters, to transmit a respective instant message(for example, using a Short Message Service (SMS) or Multimedia MessageService (MMS) protocol for telephony-based instant messages or usingXMPP, SIMPLE, or IMPS for Internet-based instant messages), to receiveinstant messages and to view received instant messages. In someembodiments, transmitted and/or received instant messages may includegraphics, photos, audio files, video files and/or other attachments asare supported in a MMS and/or an Enhanced Messaging Service (EMS). Asused herein, “instant messaging” refers to both telephony-based messages(e.g., messages sent using SMS or MMS) and Internet-based messages(e.g., messages sent using XMPP, SIMPLE, or IMPS).

In conjunction with RF circuitry 108, touch screen 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, image management module 144, and browsing module 147, theblogging module 142 may be used to send text, still images, video,and/or other graphics to a blog (e.g., the user's blog).

In conjunction with touch screen 112, display controller 156, opticalsensor(s) 164, optical sensor controller 158, contact module 130,graphics module 132, and image management module 144, the camera module143 may be used to capture still images or video (including a videostream) and store them into memory 102, modify characteristics of astill image or video, or delete a still image or video from memory 102.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, text input module 134, and cameramodule 143, the image management module 144 may be used to arrange,modify or otherwise manipulate, label, delete, present (e.g., in adigital slide show or album), and store still and/or video images.

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, audio circuitry 110, and speaker 111,the video player module 145 may be used to display, present or otherwiseplay back videos (e.g., on the touch screen or on an external, connecteddisplay via external port 124).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, and browser module 147, the music player module146 allows the user to download and play back recorded music and othersound files stored in one or more file formats, such as MP3 or AACfiles. In some embodiments, the device 100 may include the functionalityof an MP3 player, such as an iPod (trademark of Apple Computer, Inc.).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, the browser module 147 may be used to browse the Internet,including searching, linking to, receiving, and displaying web pages orportions thereof, as well as attachments and other files linked to webpages.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, e-mail module 140, and browser module 147, the calendarmodule 148 may be used to create, display, modify, and store calendarsand data associated with calendars (e.g., calendar entries, to do lists,etc.).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget modules 149 aremini-applications that may be downloaded and used by a user (e.g.,weather widget 149-1, stocks widget 149-2, calculator widget 149-3,alarm clock widget 149-4, and dictionary widget 149-5) or created by theuser (e.g., user-created widget 149-6). In some embodiments, a widgetincludes an HTML (Hypertext Markup Language) file, a CSS (CascadingStyle Sheets) file, and a JavaScript file. In some embodiments, a widgetincludes an XML (Extensible Markup Language) file and a JavaScript file(e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, and browser module 147, the widget creator module 150 may beused by a user to create widgets (e.g., turning a user-specified portionof a web page into a widget).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, and text input module 134, thesearch module 151 may be used to search for text, music, sound, image,video, and/or other files in memory 102 that match one or more searchcriteria (e.g., one or more user-specified search terms).

In conjunction with touch screen 112, display controller 156, contactmodule 130, graphics module 132, and text input module 134, the notesmodule 153 may be used to create and manage notes, to do lists, and thelike.

In conjunction with RF circuitry 108, touch screen 112, display systemcontroller 156, contact module 130, graphics module 132, text inputmodule 134, GPS module 135, and browser module 147, the map module 154may be used to receive, display, modify, and store maps and dataassociated with maps (e.g., driving directions; data on stores and otherpoints of interest at or near a particular location; and otherlocation-based data).

In conjunction with touch screen 112, display system controller 156,contact module 130, graphics module 132, audio circuitry 110, speaker111, RF circuitry 108, text input module 134, e-mail client module 140,and browser module 147, the online video module 155 allows the user toaccess, browse, receive (e.g., by streaming and/or download), play back(e.g., on the touch screen or on an external, connected display viaexternal port 124), send an e-mail with a link to a particular onlinevideo, and otherwise manage online videos in one or more file formats,such as H.264. In some embodiments, instant messaging module 141, ratherthan e-mail client module 140, is used to send a link to a particularonline video. Additional description of the online video application canbe found in U.S. Provisional Patent Application No. 60/936,562,“Portable Multifunction Device. Method, and Graphical User Interface forPlaying Online Videos,” filed Jun. 20, 2007, and U.S. patent applicationSer. No. 11/968,067, “Portable Multifunction Device, Method, andGraphical User Interface for Playing Online Videos,” filed Dec. 31,2007, the content of which is hereby incorporated by reference in itsentirety.

Each of the above identified modules and applications correspond to aset of instructions for performing one or more functions describedabove. These modules (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. For example, video player module 145may be combined with music player module 146 into a single module (e.g.,video and music player module 152, FIG. 1B). In some embodiments, memory102 may store a subset of the modules and data structures identifiedabove. Furthermore, memory 102 may store additional modules and datastructures not described above.

In some embodiments, the device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen 112 and/or a touchpad. By using a touch screenand/or a touchpad as the primary input/control device for operation ofthe device 100, the number of physical input/control devices (such aspush buttons, dials, and the like) on the device 100 may be reduced.

The predefined set of functions that may be performed exclusivelythrough a touch screen and/or a touchpad include navigation between userinterfaces. In some embodiments, the touchpad, when touched by the user,navigates the device 100 to a main, home, or root menu from any userinterface that may be displayed on the device 100. In such embodiments,the touchpad may be referred to as a “menu button.” In some otherembodiments, the menu button may be a physical push button or otherphysical input/control device instead of a touchpad.

FIG. 2 illustrates a portable multifunction device 100 having a touchscreen 112 in accordance with some embodiments. The touch screen maydisplay one or more graphics within user interface (UI) 200, In thisembodiment, as well as others, a user may select one or more of thegraphics by making contact or touching the graphics, for example, withone or more fingers 202 (not drawn to scale in the figure). In someembodiments, selection of one or more graphics occurs when the userbreaks contact with the one or more graphics. In some embodiments, thecontact may include a gesture, such as one or more taps, one or moreswipes (from left to right, right to left, upward and/or downward)and/or a rolling of a finger (from right to left, left to right, upwardand/or downward) that has made contact with the device 100. In someembodiments, inadvertent contact with a graphic may not select thegraphic. For example, a swipe gesture that sweeps over an applicationicon may not select the corresponding application when the gesturecorresponding to selection is a tap.

The device 100 may also include one or more physical buttons, such as“home” or menu button 204. As described previously, the menu button 204may be used to navigate to any application 136 in a set of applicationsthat may be executed on the device 100. Alternatively, in someembodiments, the menu button is implemented as a soft key in a GUI intouch screen 112.

In one embodiment, the device 100 includes a touch screen 112, a menubutton 204, a push button 206 for powering the device on/off and lockingthe device, volume adjustment button(s) 208, a Subscriber IdentityModule (SIM) card slot 210, a head set jack 212, and a docking/chargingexternal port 124. The push button 206 may be used to turn the poweron/off on the device by depressing the button and holding the button inthe depressed state for a predefined time interval; to lock the deviceby depressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In an alternative embodiment, the device 100 also mayaccept verbal input for activation or deactivation of some functionsthrough the microphone 113.

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that may be implemented on a portablemultifunction device 100.

FIG. 3 illustrates an exemplary user interface for unlocking a portableelectronic device in accordance with some embodiments. In someembodiments, user interface 300 includes the following elements, or asubset or superset thereof:

-   -   Unlock image 302 that is moved with a finger gesture to unlock        the device;    -   Arrow 304 that provides a visual cue to the unlock gesture;    -   Channel 306 that provides additional cues to the unlock gesture;    -   Time 308;    -   Day 310;    -   Date 312; and    -   Wallpaper image 314.

In some embodiments, the device detects contact with the touch-sensitivedisplay (e.g., a user's finger making contact on or near the unlockimage 302) while the device is in a user-interface lock state. Thedevice moves the unlock image 302 in accordance with the contact. Thedevice transitions to a user-interface unlock state if the detectedcontact corresponds to a predefined gesture, such as moving the unlockimage across channel 306. Conversely, the device maintains theuser-interface lock state if the detected contact does not correspond tothe predefined gesture. As noted above, processes that use gestures onthe touch screen to unlock the device are described in U.S. patentapplication Ser. No. 11/322,549, “Unlocking A Device By PerformingGestures On An Unlock Image,” filed Dec. 23, 2005, and Ser. No.11/322,550, “Indication Of Progress Towards Satisfaction Of A User InputCondition,” filed Dec. 23, 2005, which are hereby incorporated byreference in their entirety.

FIGS. 4A and 4B illustrate exemplary user interfaces for a menu ofapplications on a portable multifunction device in accordance with someembodiments. In some embodiments, user interface 400A includes thefollowing elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:    -   Phone 138, which may include an indicator 414 of the number of        missed calls or voicemail messages;    -   E-mail client 140, which may include an indicator 410 of the        number of unread e-mails;    -   Browser 147; and    -   Music player 146; and    -   Icons for other applications, such as:    -   IM 141;    -   Image management 144;    -   Camera 143;    -   Video player 145;    -   Weather 149-1;    -   Stocks 149-2;    -   Blog 142;    -   Calendar 148;    -   Calculator 149-3;    -   Alarm clock 149-4;    -   Dictionary 149-5; and    -   User-created widget 149-6.

In some embodiments, user interface 400B includes the followingelements, or a subset or superset thereof:

-   -   402, 404, 406, 141, 148, 144, 143, 149-3, 149-2, 149-1, 149-4,        410, 414, 138, 140, and 147, as described above;    -   Bluetooth indicator 405;    -   Map 154;    -   Notes 153;    -   Settings 412, which provides access to settings for the device        100 and its various applications 136, as described further        below;    -   Video and music player module 152, also referred to as iPod        (trademark of Apple Computer, Inc.) module 152; and    -   Online video module 155, also referred to as YouTube (trademark        of Google, Inc.) module 155.

In some embodiments, UI 400A or 400B displays all of the availableapplications 136 on one screen so that there is no need to scrollthrough a list of applications (e.g., via a scroll bar). In someembodiments, as the number of applications increase, the iconscorresponding to the applications may decrease in size so that allapplications may be displayed on a single screen without scrolling. Insome embodiments, having all applications on one screen and a menubutton enables a user to access any desired application with at most twoinputs, such as activating the menu button 204 and then activating thedesired application (e.g., by a tap or other finger gesture on the iconcorresponding to the application).

In some embodiments, UI 400A or 400B provides integrated access to bothwidget-based applications and non-widget-based applications. In someembodiments, all of the widgets, whether user-created or not, aredisplayed in UI 400A or 400B. In other embodiments, activating the iconfor user-created widget 149-6 may lead to another UI that contains theuser-created widgets or icons corresponding to the user-created widgets.

In some embodiments, a user may rearrange the icons in UI 400A or 400B,e.g., using processes described in U.S. patent application Ser. No.11/459,602, “Portable Electronic Device With Interface ReconfigurationMode,” filed Jul. 24, 2006, which is hereby incorporated by reference inits entirety. For example, a user may move application icons in and outof tray 408 using finger gestures.

In some embodiments, UI 400A or 400B includes a gauge (not shown) thatdisplays an updated account usage metric for an account associated withusage of the device (e.g., a cellular phone account), as described inU.S. patent application Ser. No. 11/322,552, “Account InformationDisplay For Portable Communication Device,” filed Dec. 23, 2005, whichis hereby incorporated by reference in its entirety.

FIGS. 5A-5AA illustrate exemplary user interfaces for a map applicationin accordance with some embodiments.

In some embodiments, a computer-implemented method is performed at aportable electronic device (e.g., 100) with a touch screen display 112.

In some embodiments, in response to detecting a finger gesture 5230(e.g., a finger tap gesture) on a search icon 5232 (FIG. 5C), the devicedisplays a search term input area 5202 (e.g., text input box, FIG. 5A)for entering one or more search terms.

In some embodiments, in response to detecting a finger gesture 5234(e.g., a finger tap gesture) on the search term input area, the devicedisplays a keyboard 5236 for entering the one or more search terms.

In some embodiments, in response to detecting a finger gesture 5238(e.g., a finger tap gesture) on an input icon 5204 (FIG. 5A) associatedwith the search term input area 5202, the device displays a list 5240(FIG. 5F) of bookmarked locations 5242. In response to detecting afinger gesture 5244 (e.g., a finger tap gesture) on a bookmarkedlocation (e.g., 5242-3) in the list 5240 of bookmarked locations, anarea corresponding to the bookmarked location is displayed on a digitalmap (not shown).

In some embodiments, in response to detecting a finger gesture 5238(e.g., a finger tap gesture) on an input icon 5204 associated with thesearch term input area 5202, the device displays a list 5246 (FIG. 5H)of recent queries 5248 by a user. In response to detecting a fingergesture 5250 (e.g., a finger tap gesture) on a recent query (e.g.,5248-6) in the list 5246 of recent queries by a user, resultscorresponding to the recent query are displayed on a digital map (notshown).

In some embodiments, in response to detecting a finger gesture 5238(e.g., a finger tap gesture) on an input icon 5204 (FIG. 5A) associatedwith the search term input area 5202, the device displays a list 5252(FIG. 5J) of contacts 5254. In response to detecting a finger gesture5256 (e.g., a finger tap gesture) on a contact (e.g., 5254-3) in thelist of contacts, an area associated with the contact (e.g., an areathat includes an address associated with the contact 5254-3 in thecontact list) is displayed on a digital map (not shown).

In some embodiments, in response to detecting a finger gesture 5238(e.g., a finger tap gesture) on an input icon 5204 (FIG. 5A) associatedwith the search term input area 5202, the device displays either:

-   -   a list 5240 (FIG. 5F) of bookmarked locations 5242, wherein in        response to detecting a finger gesture 5244 (e.g., a finger tap        gesture) on a bookmarked location (e.g., 5242-3) in the list        5240 of bookmarked locations, an area corresponding to the        bookmarked location is displayed on a digital map (not shown);    -   a list 5246 (FIG. 5H) of recent queries 5248 by a user, wherein        in response to detecting a finger gesture 5250 (e.g., a finger        tap gesture) on a recent query (e.g., 5248-6) in the list 5246        of recent queries by a user, results corresponding to the recent        query are displayed on a digital map (not shown); or    -   a list 5252 (FIG. 5J) of contacts 5254, wherein in response to        detecting a finger gesture 5256 (e.g., a finger tap gesture) on        a contact (e.g., 5254-3) in the list of contacts, an area        associated with the contact (e.g., an area that includes an        address associated with the contact 5254-3 in the contact list)        is displayed on a digital map (not shown).        In some embodiments, the list (i.e., 5240, 5246, or 5252) which        is displayed in response to finger gesture 5238 (e.g., a finger        tap gesture) on input icon 5204 corresponds to the list (i.e.,        5240, 5246, or 5252) that was most recently displayed prior to        finger gesture 5238.

In some embodiments, in response to detecting a finger gesture 5258(e.g., a finger tap gesture) on a search initiation icon 5260 (FIG. 5B),the device: sends one or more entered search terms 5262 (e.g., CupertinoStarbucks) to a remote computer (e.g., a map application server),receives one or more search results, and displays at least some of thesearch results 5264 on a digital map 5266 (FIG. 5C). In someembodiments, the digital map comprises a graphic image, a satelliteimage, or a hybrid combination of a graphic image and a satellite image.For example, the search results may be displayed on a graphical map ifmap icon 5206 is selected (FIG. 5C), whereas the search results may bedisplayed on a satellite image if satellite icon 5208 is selected.

In some embodiments, in response to detecting a single finger tapgesture 5268 (FIG. 5C) on the digital map, the device magnifies the areanear the single finger tap gesture 5268. In some embodiments, the tapgesture is a single tap. In some embodiments, the tap gesture is adouble tap. In some embodiments, the magnification includes a zoom-inanimation.

In some embodiments, in response to detecting a finger down gesture 5270and a finger drag gesture 5272 on the digital map 5266 (FIG. 5C), thedevice translates the digital map 5266 on the touch screen display inaccordance with the finger drag gesture 5272.

In some embodiments, in response to detecting a two finger tap gesture5274 (FIG. 5C) on the digital map, the device demagnifies the area nearthe two finger tap gesture 5274. In some embodiments, the tap gesture isa single tap. In some embodiments, the tap gesture is a double tap. Insome embodiments, the demagnification includes a zoom-out animation.

In some embodiments, a first respective icon (e.g., 5264-3, FIG. 5C) isdisplayed for a respective search result, wherein in response todetecting a finger gesture 5280 on the first respective icon, a secondrespective icon 5276 for the respective search result is displayed. Insome embodiments, in response to detecting a finger gesture 5282 on thesecond respective icon, an interface 5200L (FIG. 5D) for the respectivesearch result is displayed.

In some embodiments, a first respective icon (e.g., 5264-3, FIG. 5C) isdisplayed for a respective search result, wherein in response todetecting a finger gesture 5280 on the first respective icon, a secondrespective icon 5276 and a third respective icon 5278 for the respectivesearch result are displayed. In some embodiments, in response todetecting a finger gesture 5280 on the second respective icon, thesecond respective icon and the third respective icon cease to bedisplayed. In some embodiments, in response to detecting a fingergesture 5284 on the third respective icon, an interface 5200L (FIG. 5D)for the respective search result is displayed.

In some embodiments, a respective icon (e.g., 5278) is displayed for arespective search result, wherein in response to detecting a fingergesture 5284 on the respective icon, an interface 5200L (FIG. 5D) isdisplayed for the respective search result.

In some embodiments, the interface 5200L (FIG. 5D) for the respectivesearch result includes:

-   -   a name for the respective search result;    -   a local map of the respective search result;    -   an electronic address for the respective search result (e.g., a        URL);    -   a physical address for the respective search result;    -   a phone number associated with the respective search result,        which when activated by a finger gesture initiates a phone call        to the phone number;    -   an icon that when activated by a finger gesture enters the        physical address as an end point in a request for directions        (e.g., “Directions to here” icon);    -   an icon that when activated by a finger gesture enters the        physical address as a starting point in a request for directions        (e.g., “Directions from here” icon);    -   an icon that when activated by a finger gesture initiates        creation of a bookmark for the respective search result (e.g.,        “Add to bookmarks” icon initiates creation of a bookmark via        interface 5200M, FIG. 5E);    -   an icon that when activated by a finger gesture initiates        creation of a contact list entry for the respective search        result (e.g., “Create new contact” icon); and/or    -   an icon that when activated by a finger gesture initiates        addition of the respective search result to an existing contact        (e.g., “Add to existing contact” icon).

In some embodiments, a bookmarks user interface 5200N (FIG. 5F) includesa list 5240 of locations bookmarked by a user. In some embodiments, inresponse to detecting a finger gesture 5286 on a configuration icon 5290(e.g., Edit icon, FIG. 5F) for a list of bookmarks, the device displaysrespective deletion icons and/or respective moving-affordance icons forrespective bookmarks in the list of bookmarks (FIG. 5G). Use of thedeletion and moving-affordance icons is described in U.S. ProvisionalPatent Application Nos. 60/883,814, “Deletion Gestures on a PortableMultifunction Device,” filed Jan. 7, 2007, and 60/883,808, “System andMethod for Managing Lists,” filed Jan. 7, 2007, which applications areincorporated by reference herein in their entirety in their entirety.

In some embodiments, a user interface 5200P (FIG. 5H) includes a list ofrecent location, search, and/or mute queries (collectively, a list ofrecent queries) by a user, in some embodiments, in response to a fingergesture (e.g., a finger tap gesture) on a recent location query, thelocation is displayed on a digital map or entered as a start or endpoint in a route search query, depending on context. In someembodiments, in response to a finger gesture (e.g., a finger tapgesture) on a recent search query, the results of the recent searchquery are displayed on a digital map. In some embodiments, in responseto a finger gesture (e.g., a finger tap gesture) on a recent routequery, at least a portion of the corresponding routing instructions(e.g., driving directions) are displayed.

In some embodiments, a contacts UI 5200P (FIG. 5J) includes a list ofindividual contacts 5254 and an icon 5298 that when activated by afinger gesture 5201 displays a list of groups of contacts (e.g., UI5200S, FIG. 5K) In some embodiments, in response to detecting a fingergesture 5256 on a contact in the list of contacts, an area associatedwith the contact (e.g., an area that includes an address associated withthe contact in the contact list) is displayed on a digital map.

In some embodiments, a respective icon (e.g., icon 5203, FIG. 5M) isdisplayed for a contact, wherein in response to detecting a fingergesture 5205 on the respective icon, an interface 5200V (FIG. 5N) isdisplayed for the contact.

In some embodiments, the interface 5200V for the contact includes:

-   -   a name for the contact (e.g., Craig Buhler);    -   a physical address for the contact;    -   an image associated with the contact;    -   an electronic address for the contact (e.g., a URL);    -   a phone number associated with the contact;    -   an icon that when activated by a finger gesture enters the        physical address for the contact as an end point in a request        for directions (e.g., “Directions to here” icon);    -   an icon that when activated by a finger gesture enters the        physical address for the contact as a starting point in a        request for directions (e.g., “Directions from here” icon);        and/or    -   an icon that when activated by a finger gesture initiates        creation of a bookmark for the contact (e.g., “Add to bookmarks”        icon initiates creation of a bookmark via interface 5200W, FIG.        5O).

In some embodiments, in response to finger contacts on icons 5292, 5294,and 5296 in the user interfaces for bookmarks (UI 5200N, FIG. 5F),recent queries (UI 5200P, FIG. 5H), and contacts (UI 5200R, FIG. 5J),the device displays the corresponding user interface, which makesnavigating between these interfaces simple and intuitive.

In some embodiments, in response to detecting a finger gesture on aroute search icon 5207 (FIG. 5A), the device displays an endpoints area5209 (FIG. 5P) comprising:

-   -   a first area 5213 for entering a first location;    -   a second area 5215 for entering a second location;    -   and an icon 5211 for swapping information in the first area 5213        with information in the second area 5215.

In some embodiments, in response to detecting a finger gesture 5239(FIG. 5Q) (e.g., a finger tap gesture) on the first area (“Start:”), thedevice displays a keyboard for entering the first location (FIG. 5Q). Insome embodiments, in response to detecting a finger gesture 5241 (e.g.,a finger tap gesture) on the second area (“End:”), the device displays akeyboard for entering the second location.

In some embodiments, in response to detecting a finger gesture 5217(FIG. 5P) (e.g., a finger tap gesture) on an input icon 5219 associatedwith the first area 5213, the device displays:

-   -   a list 5240 (FIG. 5F) of bookmarked locations, wherein in        response to detecting a finger gesture (e.g., 5244) on a        bookmarked location (e.g., 5242-3) in the list of bookmarked        locations, an address or name corresponding to the bookmarked        location (e.g., 5242-3) is entered in the first area;    -   a list 5246 (FIG. 5H) of recent searches, wherein in response to        detecting a finger gesture on a location in the list of recent        searches, an address corresponding to the location is entered in        the first area; or    -   a list 5252 (FIG. 5J) of contacts, wherein in response to        detecting an finger gesture on a contact 5254 in the list of        contacts, an address associated with the contact (e.g., an        address associated with the contact in the contact list) is        entered in the first area.

In some embodiments, in response to detecting a finger gesture 5221(FIG. 5P) (e.g., a finger tap gesture) on an input icon 5223 associatedwith the second area 5215, the device displays:

-   -   a list 5240 (FIG. 5F) of bookmarked locations, wherein in        response to detecting a finger gesture (e.g., 5244) on a        bookmarked location (e.g., 5242-3) in the list of bookmarked        locations, an address or name corresponding to the bookmarked        location (e.g., 5242-3) is entered in the second area;    -   a list 5246 (FIG. 5H) of recent searches, wherein in response to        detecting a finger gesture on a location in the list of recent        searches, an address corresponding to the location is entered in        the second area; or    -   a list 5252 (FIG. 5J) of contacts, wherein in response to        detecting an finger gesture on a contact 5254 in the list of        contacts, an address associated with the contact (e.g., an        address associated with the contact in the contact list) is        entered in the second area.

In some embodiments, in response to detecting a finger gesture 5225(FIG. 5R) on a route search initiation icon 5227, the device: sends thefirst location (e.g., 2 Infinite Loop, Cupertino, Calif.) and the secondlocation (e.g., 100 Main St., Seattle, Wash.) to a remote computer(e.g., a map application server, such as Google maps); receives routinginformation between the first location and the second location; anddisplays at least some of the routing information between the firstlocation and the second location on a digital map (e.g., FIGS. 5S-5AA)

In some embodiments, the received routing information includes all ofthe digital map information needed to display the waypoints in the routebetween the first location and the second location. In some embodiments,the received routing information is stored (e.g., cached) so that thedevice can display the routing information even if the device losesaccess to the remote computer.

In some embodiments, in response to detecting a finger gesture 5231(e.g., a finger tap gesture) on a start icon 5229 (FIG. 5S), the devicedisplays the first location and the first portion of the routinginformation (FIG. 5T). Similarly, in some embodiments, in response todetecting a finger gesture (e.g., a finger tap gesture) on a nextwaypoint icon 5237, the device displays the next waypoint and thecorresponding map information (FIGS. 5T-5Z). In some embodiments, inresponse to detecting a finger gesture (e.g., a finger tap gesture) on aprevious waypoint icon 5239, the device displays the previous waypointand the corresponding map information.

In some embodiments, if the distance to the next waypoint is largerelative to the area displayed around a waypoint on the digital map, theuser interface may zoom out, display an animated movement to the nextwaypoint, and then zoom back in to the next waypoint, as illustrated inFIGS. 5U-5Y.

In some embodiments, in response to detecting a finger gesture 5235(e.g., a finger tap gesture) on a list icon 5233 (FIG. 5S), the devicedisplays an itemized list of the routing information (e.g., turn-by-turndriving directions), as shown in UI 5200II (FIG. 5AA). In someembodiments, in response to detecting a finger gesture 5237 (e.g., afinger tap gesture) on a particular item in the list (FIG. 5AA), thecorresponding portion of routing information is shown on a digital map(e.g., UI 5200LL, FIG. 5U).

FIGS. 6A-6C illustrate exemplary user interfaces for displaying anapproximate location of a computing device on a map in accordance withsome embodiments. FIG. 6A shows an example of a map applicationincluding a view location icon 602, a view options icon 608, a searchmode icon 604, and a directions mode icon 606.

FIG. 6B shows a visual indicator 614 on a displayed map 5266 indicatingan approximate region in which a computing device (e.g., portablemultifunction device 100) is located. FIG. 6C shows a second visualindicator 618 on the displayed map 5266 that is displayed when thedisplayed map is entirely within the approximate region in which thedevice is located.

In some embodiments, the user interfaces UI 600A (FIG. 6A), UI 600B(FIG. 6B), and UI 600C (FIG. 6C) include the following elements, or asubset or superset thereof:

-   -   402, 404, 406, 5202, and 5266, as described above;    -   an input icon 5204 that when activated (e.g., by a finger tap on        the icon) initiates display of a UI for accessing bookmarks,        recent queries, or contacts.    -   a view location icon 602 that when activated (e.g., by a finger        tap on the icon) initiates a process that displays the        approximate region in which a computing device is located on a        map;    -   a search mode icon 604 that when activated (e.g., by a finger        tap on the icon) initiates display of a UI for entering search        terms (e.g., UI 600A);    -   a directions mode icon 606 that when activated (e.g., by a        finger tap on the icon) initiates display of a UI for entering        start and end points for a route search (e.g., UI 1000C, FIG.        10C);    -   a view options icon 608 that when activated (e.g., by a finger        tap on the icon) initiates display of a UT for displaying and        selecting applications options (e.g., UI 800A, FIG. 8A);    -   a first visual indicator 614 (FIG. 6B) that indicates an        approximate region in which the computing device is located in        accordance with the received location information when the        approximate region lies within the displayed map 5266; and    -   a second visual indicator 618 (FIG. 6C) around a perimeter of        the displayed map 5266 that is displayed when the approximate        region in which the computing device is located includes the        displayed map 5266 and also extends beyond the displayed map.

The user interfaces in FIGS. 6A-6C are used to illustrate the process700 described below with respect to FIG. 7.

FIG. 7 is flow diagram illustrating a method of displaying anapproximate location of a computing device on a map in accordance withsome embodiments. The method is performed at a computing device with atouch screen display (e.g., portable multifunction device 100). Themethod 700 provides a simple way for a user to view the device's presentlocation along with a visual indication of the accuracy with which thedevice's location is known.

A map application (e.g., 154, FIG. 1B) is displayed (702). The mapapplication is configured to display a map (e.g., map 5266, FIG. 6A).

Location information for the computing device is received (704). In someembodiments, the location information corresponds to one or moreterrestrial transmitting devices (e.g., cell towers, Wi-Fi sources, orother computing devices) from which the computing device receivessignals.

In some embodiments, the device receives signals from a plurality ofservices capable of providing the location information, and selectslocation information from one of the plurality of services in accordancewith location information selection criteria. For example, the locationinformation received by the device may be GPS information, Wi-Fiinformation, or information from cell towers. After receiving thisinformation, the device may select the GPS information (if available)rather than Wi-Fi or cell tower information. If GPS information is notavailable, the device may choose to use either Wi-Fi or cell towerinformation or a combination thereof. In some embodiments, the devicemay use Wi-Fi information only if the Wi-Fi information is consistentwith the information from cell tower sources.

In response to detecting a user gesture on a view location icon (e.g.,gesture 610 on view location icon 602, FIG. 6A) while the mapapplication is displayed, the device displays (706) a first visualindicator on a portion of the displayed map that indicates anapproximate region in which the computing device is located inaccordance with the received location information when the approximateregion lies within the displayed map. For example, in FIG. 6B, thedisplayed map includes a cross-hair circle 614 as a first visualindicator on a portion of the displayed map 5266. The area within theindicator's perimeter represents an approximate region on the map inwhich the computing device is located. In some embodiments, the firstvisual indicator 614 includes a circle displayed on the displayed map5266.

In some embodiments, detecting the user gesture on the view locationicon initiates (708) a request for the location information for thecomputing device. In some embodiments, the device receives (710)location information from a transmitting device that is located withinthe region corresponding to the displayed first visual indicator (e.g.,cross-hair circle 614, FIG. 6B).

In response to detecting a user gesture on a view location icon (e.g.,gesture 610 on view location icon 602, FIG. 6A) while the mapapplication is displayed, the device displays (706) a second visualindicator (e.g., cross-hair rectangle 618, FIG. 6C) around a perimeterof the displayed map when the approximate region includes the displayedmap and also extends beyond the displayed map. In some embodiments, thesecond visual indicator includes a rectangle displayed at the boundaryof the displayed map.

The device changes (712) from displaying the first visual indicator todisplaying the second visual indicator in response to magnifying an areaof the map that includes the approximate region in which the computingdevice is located. For example, in response to a de-pinching fingergesture (e.g., gesture 616, FIG. 6B), which magnifies an area of themap, the device changes from displaying the first visual indicator 614(FIG. 6B) to displaying the second visual indicator 618 (FIG. 6C).

The device changes (714) from displaying the second visual indicator todisplaying the first visual indicator in response to de-magnifying anarea of the map that includes the approximate region in which thecomputing device is located. For example, in response to a pinchingfinger gesture (e.g., gesture 620, FIG. 6C), which demagnifies an areaof the map, the device changes from displaying the second visualindicator 618 (FIG. 6C) to displaying the first visual indicator 614(FIG. 6B).

FIG. 8A illustrates an exemplary user interface for displaying andselecting application options in accordance with some embodiments. FIG.8A includes a curled version of a map application interface. But thecurled version of the application interface is not limited to a mapapplication. FIG. 8B illustrates an exemplary user interface withuser-requested information overlaid on a map in accordance with someembodiments.

In some embodiments, UI 800A (FIG. 8A) includes the following elements,or a subset or superset thereof:

-   -   402, 404, 406, 5202, 5204, 602, 604, 606, and 608, as described        above;    -   a portion 802 of a flat version of an application interface;    -   an image of a curled page 804 that obscures a portion of the        flat version of the application interface;    -   a roll-up region 806 in a display region formerly occupied by a        another portion of the flat version of the application        interface, wherein the roll-up region includes a plurality of        option icons.

For a map application, the plurality of options icons in the roll-upregion 806 includes the following icons, or a subset or supersetthereof:

-   -   a drop pin icon 808 that when activated (e.g., by a finger tap        on the icon) initiates display of a user-moveable location        marker on a flat version of a map;    -   a show traffic icon 810 that when activated (e.g., by a finger        tap on the icon) initiates display of traffic conditions on a        flat version of a map;    -   a map view icon 812 that when activated (e.g., by a finger tap        on the icon) initiates display of a flat version of a graphical        map;    -   a satellite view icon 814 that when activated (e.g., by a finger        tap on the icon) initiates display of a flat version of a        satellite image corresponding to the graphical map;    -   a hybrid view icon 816 that when activated (e.g., by a finger        tap on the icon) initiates display of a flat version of a hybrid        combination of a satellite image and a corresponding graphical        map; and    -   a list view icon 818 that when activated (e.g., by a finger tap        on the icon) initiates display of a list of search results.

In some embodiments, UI 800B (FIG. 8B) includes the following elements,or a subset or superset thereof:

-   -   402, 404, 406, 5202, 5204, 602, 604, 606, and 608, as described        above;    -   gas information icon 826 that is overlaid on the map when a gas        information option icon (not shown) is selected;    -   lodging information icon 830 that is overlaid on the map when a        lodging information option icon (not shown) is selected;    -   post office information icon 824 that is overlaid on the map        when a post office information option icon (not shown) is        selected; and    -   food information icon 828 that is overlaid on the map when a        food information option icon (not shown) is selected.

The user interfaces in FIGS. 6A and 8A-8B are used to illustrate theprocess described below with respect to FIG. 9.

FIG. 9 is a flow diagram illustrating a method of displaying andselecting application options in accordance with some embodiments. Themethod 900 is performed at a computing device with a touch screendisplay (e.g., portable multifunction device 100). The method 900provides a simple and intuitive way for a user to view and selectvarious options when displaying an application. A map application isused here for exemplary and explanatory purposes. The method 900 is notlimited to map applications.

A flat version of an application interface is displayed (902). Forexample, user interface 600A (FIG. 6A) illustrates a flat version of anapplication interface for a map application.

In response to detecting a user gesture (e.g., a finger tap gesture 612,FIG. 6A) on a view options icon (e.g., 608, FIG. 6A) while the flatversion of the application interface is displayed, a curled version ofthe application interface is displayed (904).

The curled version of the application interface (e.g., interface 800A,FIG. 8A) includes an image of a curled page that obscures a firstportion of the flat version of the application interface. For example,in FIG. 8A, curled page 804 obscures the portion of the map underneaththe curled page.

The curled version of the application interface also includes a roll-upregion (e.g., roll-up region 806, FIG. 8A) in a display region formerlyoccupied by a second portion of the flat version of the applicationinterface. The roll-up region 806 includes a plurality of option icons(e.g., icons 808, 810, 812, 814, 816, and 818 in FIG. 8A), with eachrespective icon in the plurality of option icons responsive to a userselection gesture on the respective option icon (904).

In some embodiments, the curled version of the application interfaceincludes (906) a third portion of the flat version of the applicationinterface. For example, in FIG. 8A, the curled version of the mapapplication interface 800A includes a third portion 802 of the flatversion of the map application interface that is not obscured by theimage of the curled page 804.

In some embodiments, the third portion is displayed in the curledversion of the application interface in a manner that is visuallydistinct from display of the third portion in the flat version of theapplication interface. For example, the flat portion 802 in FIG. 8A maybe darkened relative to the corresponding flat portion of the map 5266in FIG. 6A. Continuing to show a portion 802 of the flat version of theapplication helps maintain the application context for the user whilesimultaneously permitting the user to view the application options inthe roll-up region 806 (FIG. 8A).

In some embodiments, a roll up animation is displayed (908) thattransitions from displaying the flat version of the applicationinterface to displaying the curled version of the application interface.For example, in response to detecting user gesture 612 on the viewoptions icon 608 (FIG. 6A), a roll up animation may transition from FIG.6A (the flat version) to FIG. 8A (the curled version).

In some embodiments, the application is a map application (e.g., 154,FIG. 1B) and the flat version of the application interface includes amap (e.g., map 5266, FIG. 6A).

In some embodiments, for the map application, the plurality of optionicons include a satellite view option icon 814, a hybrid view optionicon 816, and a traffic information overlay option icon 810 (FIG. 8A).

In some embodiments, for the map application, the plurality of optionicons include an icon for adding a user-moveable location marker to themap. For example, FIG. 8A includes a drop pin icon 808 for adding auser-moveable location marker (e.g., pin 1002, FIG. 10A) to map 5266.

In some embodiments, for the map application, the plurality of optionicons include a plurality of map overlay option icons. For example,there may be option icons allowing the user to overlay additionalinformation on to the map 5266, such as traffic 810, gas, food, andlodging. FIG. 8B illustrates an exemplary user interface 8008 fordisplaying the additional information overlaid on the map (e.g., gas826, lodging 830, food 828, and mail 824) in response to user selectionof corresponding map overlay option icons.

In some embodiments, the curled page includes a translucentrepresentation of a portion of the flat version of the applicationinterface. For example, the curled page 804 in FIG. 8A may display atranslucent representation of map 5266 (not shown). In some embodiments,the curled page includes an inverted, translucent representation of aportion of the flat version of the application interface. For example,the curled page 804 in FIG. 8A may display an inverted, translucentrepresentation of map 5266 (not shown).

A user selection gesture (e.g., gesture 822, FIG. 8A) on one or more ofthe plurality of option icons is detected (910). In some embodiments,the user selection gestures are finger gestures on the touch screendisplay. For example, in FIG. 8A, user selection of the drop pin icon808 is by finger gesture 822. In some embodiments, the applicationinterface displayed on the touch screen is responsive to stylus inputgestures on the touch screen display.

The flat version of the application interface is redisplayed (912) withinformation corresponding to the one or more option icons upon which theuser selection gestures were detected. For example, FIG. 10A shows auser-moveable location marker 1002 added to map 5266 and FIG. 8B showsinformation icons 824, 826, 828, and 830, which correspond to overlayoption icons selected by the user, added to map 5266.

In some embodiments, the flat version of the application interface isredisplayed in response to detecting a second user gesture on the viewoptions icon. For example, in FIG. 8A, in response to a finger tapgesture 820 on the view options icon 608, display of the curled version800A transitions to redisplay of the flat version of the applicationinterface with information corresponding to the one or more option iconsupon which the user selection gestures were detected.

In some embodiments, user selection gestures are detected on at leasttwo of the plurality of option icons, and the flat version of theapplication interface is redisplayed with information corresponding tothe at least two of the plurality of option icons upon which userselection gestures were detected. For example, in the roll up region 806of the curled version of the map application (FIG. 8A), the user mayselect both the show traffic icon 810 and the satellite icon 814 priorto redisplaying the flat version of the application interface. Inresponse to a finger tap gesture 820 on the view options icon 608, thedevice will redisplay the flat version of the map application interfacewith a satellite view and with traffic information overlaid on the map.

For some options icons, selection of the option icon may result in animmediate transition to the flat application interface with thecorresponding option added, without requiring detection of a secondgesture on the view options icon (or some other close options icon). Forexample, detection of gesture 822 on the drop pin icon 808 may result inthe immediate transition to the flat application interface with a usermoveable location marker added to the map (e.g., pin 1002 added to map5266 in FIG. 10A).

In some embodiments, a roll down animation is displayed (914) thattransitions from displaying the curled version of the applicationinterface to redisplaying the flat version of the application interfacewith information corresponding to the one or more option icons uponwhich user selection gestures were detected. For example, in response touser selection of the view options icon 608 (FIG. 8A), a roll downanimation may transition from FIG. 8A (the curled version) to FIG. 6A(the flat version).

The map application is just one example of an application that can usethis method of displaying and selecting application options. Otherapplications that can use this method include, without limitation:contacts 137; telephone 138; video conferencing 139; e-mail client 140;instant messaging (IM) 141; blogging 142; camera 143; image management144; video player 145; music player 146; browser 147; calendar 148;widgets 149 (e.g., weather widget 149-1, stocks widget 149-2, calculatorwidget 149-3, alarm clock widget 149-4, dictionary widget 149-5, andother widgets obtained by the user, as well as user-created widgets149-6); widget creator 150; search 151; video and music player 152;notes 153; and online video 155.

FIG. 10A illustrates an exemplary user interface for displaying a mapapplication with a user-moveable location marker in accordance with someembodiments.

FIG. 10B illustrates an exemplary user interface for displayinguser-selectable option icons associated with a user-moveable locationmarker in accordance with some embodiments.

FIG. 10C illustrates an exemplary user interface for obtainingdirections to a location corresponding to a user-moveable locationmarker in accordance with some embodiments. FIG. 10D illustrates anexemplary user interface for obtaining directions from a locationcorresponding to a user-moveable location marker in accordance with someembodiments.

FIG. 10E illustrates an exemplary user interface for adding a locationmarker to a set of bookmarks in accordance with some embodiments.

FIG. 10F illustrates an exemplary user interface with a current locationof a computing device included in a list of bookmarks in accordance withsome embodiments.

In some embodiments, UI 1000A (FIG. 10A) includes the followingelements, or a subset or superset thereof:

-   -   402, 404, 406, 5202, 5204, 5266, 602, 604, 606, 608, and 614 as        described above;    -   a user-moveable location marker 1002;    -   a user-selectable region 1004 that when activated (e.g., by a        finger tap 1010 on the region) initiates display of an interface        (e.g., UI 1000B, FIG. 10B) for obtaining information associated        with the current location of a corresponding user-moveable        location marker 1002-1; and    -   a user-selectable region 1006 next to region 1004 that when        activated (e.g., by a finger tap 1018 on region 1006) ceases        display of region 1004 and region 1006;

UI 1000B (FIG. 10B) includes the following elements, or a subset orsuperset thereof:

-   -   402, 404, and 406, as described above;    -   a name 1019 (e.g., “Dropped Pin”) for an associated        user-moveable location marker (e.g., marker 1002-1, FIG. 10A);    -   a return to map icon 1020 that when activated (e.g., by a finger        tap on the icon) initiates display of a map application        interface with the corresponding user-moveable location marker        (e.g., UI 1000A, FIG. 10A);    -   an image 1022 of a portion of the map application interface with        the corresponding user-moveable location marker (e.g., UI 1000A,        FIG. 10A);    -   an add to bookmarks icon 1024 that when activated (e.g., by a        finger tap 1036 on the icon) initiates replacement of UI 1000B        with display of a user interface for adding an entry to a set of        bookmarked locations (e.g., UI 1000E, FIG. 10E), the added entry        corresponding to the current location of the user-moveable        location marker 1002-1 on the map 5266 (FIG. 10A);    -   a directions to here icon 1026 that when activated (e.g., by a        finger tap 1038 on the icon) initiates replacement of UI 1000B        with display of a user interface for getting directions to the        current location of the user-moveable location marker 1002-1 on        the map 5266 from another location (e.g., Ut 1000C, FIG. 10C);    -   a directions from here icon 1028 that when activated (e.g., by a        finger tap 1040 on the icon) initiates replacement of UI 1000B        with display of a user interface for getting directions from the        current location of the user-moveable location marker 1002-1 on        the map 5266 to another location (e.g., UI 100D, FIG. 10D);    -   a remove location marker icon 1030 (e.g., “Remove Pin”) that        when activated (e.g., by a finger tap 1042 on the icon)        initiates deletion of the corresponding user-moveable location        marker 1002-1 from the map 5266 (FIG. 10A);    -   a create new contact icon 1032 that when activated (e.g., by a        finger tap 1044 on the icon) initiates replacement of UI 1000B        with display of a user interface for adding an entry to a set of        contacts, the added entry including location information        corresponding to the location of the user-moveable location        marker 1002-1 on the map 5266 (FIG. 10A); and    -   an add to existing contact icon 1034 that when activated (e.g.,        by a finger tap 1046 on the icon) initiates replacement of UI        1000B with display of a user interface (or a series of user        interfaces) for updating an entry in a set of contacts to        include location information corresponding to the location of        the user-moveable location marker 1002-1 on the map 5266 (FIG.        10A).

UI 1000C (FIG. 10C) and UI 1000D (FIG. 10D) include the followingelements, or a subset or superset thereof:

-   -   402, 404, 406, 5209, 5211, 5213, 5215, 5219, 5223, 5227, and        5236 as described above; and    -   a keyboard 5216 for entering locations in areas 5213 and/or        5215;    -   a delete icon 1050 that when activated (e.g., by a finger tap on        the icon) initiates deletion of any text entered in the        corresponding area.

UI 1000E (FIG. 10E) is analogous to UI 5200M (FIG. 5E, described above).

UI 1000F (FIG. 10F) includes the following elements, or a subset orsuperset thereof:

-   -   402, 404, 406, 5240, 5290, 5292, 5294, and 5296 as described        above; and    -   current location 1070 that corresponds to the current location        information for the device (e.g., portable multifunction device        100), whether or not the current location information has been        added to a set of bookmarks (e.g., via UI 1000E, FIG. 10E); and    -   dropped pin 1072 that corresponds to the location information of        a corresponding user-moveable location marker 1002 on the map        5266, whether or not the user-moveable location marker 1002 has        been added to a set of bookmarks (e.g., via UI 1000E, FIG. 10E).

The user interfaces in FIGS. 8A and 10A-10F are used to illustrate theprocess 1100 described below with respect to FIG. 11 and the process1500 described below with respect to FIG. 15.

FIG. 11 is a flow diagram illustrating a method 1100 for displaying andmoving a user-moveable location marker on a map in accordance with someembodiments. The method 1100 is performed at a computing device with atouch screen display (e.g., portable multifunction device 100). Themethod 1100 provides a simple way for a user to place a location markeron the displayed map, and retrieve information associated with thelocation of the marker (e.g., the address of the marker and directionsto or from the marker).

A map application (e.g., 154, FIG. 1B) is displayed (1102). The mapapplication is configured to display a map (e.g., map 5266, FIG. 10A).

A first finger gesture is detected (1104) on an icon for adding auser-moveable location marker to the map (e.g., gesture 822, FIG. 8A).

The device displays (1105) the user-moveable location marker (e.g.,marker 1002-1, FIG. 10A) on the map. In some embodiments, theuser-moveable location marker 1002 is immediately displayed in responseto detecting (1104) the finger gesture on the icon for adding auser-moveable location marker to the map (e.g., gesture 822, FIG. 8A).In some embodiments, the user-moveable location marker 1002 is notdisplayed on the map until a finger gesture on a view options icon 608(e.g., gesture 820, FIG. 8A) or a close options icon is detected.

In some embodiments, the icon for adding a user-moveable location markerto the map is located in a curled version of the map applicationinterface (e.g., icon 808 in UI 800A, FIG. 8A).

In some embodiments, the device also displays text identifying thecurrent location of the user-moveable location marker on the map. Forexample, the device may be configured to automatically display textidentifying the current location in user-selectable region 1006 (FIG.10A). In some embodiments, text identifying the location of the markermay be displayed elsewhere in UI 1000A (FIG. 10A) or in an interface(e.g., UI 1000B, FIG. 10B) for displaying additional options andinformation associated with the location marker.

In some embodiments, the device transmits a request for a reverse lookupof the current location of the user-moveable location marker on the mapand receives information identifying the current location of theuser-moveable location marker on the map. In some embodiments, thedevice transmits the request for the reverse lookup without userintervention at predetermined times (e.g., when the marker is initiallyplaced on the map and after the marker has been moved on the map). Insome embodiments, the device transmits the request for the reverselookup in response to a user request (e.g., in response to detecting afinger tap gesture 1016 on location marker 1002-1 (FIG. 10A). In someembodiments, UI 1000A (FIG. 10A) or UI 1000B (FIG. 10B) contains areverse lookup icon (not shown) allowing the user to request a reverselookup of the marker location.

In response to detecting a second finger gesture on the user-moveablelocation marker, the device moves (1106) the user-moveable locationmarker on the map in accordance with the second finger gesture. Forexample, in FIG. 10A, the device moves the location marker 1002-1 inaccordance with a second finger gesture 1012.

In some embodiments, the second finger gesture (e.g., 1012, FIG. 10A)includes a finger contact area that moves on the touch screen. In someembodiments, moving the user-moveable location marker on the map inaccordance with the second finger gesture includes displaying theuser-moveable location marker offset from the moving finger contact areaduring the second finger gesture. For example, in FIG. 10A the secondfinger gesture includes a finger contact area 1013 that moves on thetouch screen. The user-moveable marker 1002-1 is offset from the movingfinger contact area 1013. More details on moving the marker 1002-1 willbe discussed with respect to FIGS. 12C(1)-12C(5) below.

In some embodiments, the user-moveable location marker is offset fromthe moving finger contact area such that a user's view of theuser-moveable location marker is not obscured by the second fingergesture while moving the user-moveable location marker on the map inaccordance with the second finger gesture. For example, the fingercontact area (e.g., area 1013, FIG. 10A, and area 1214, FIGS.12C(2)-12C(4)) is offset from the moving location marker 1002-1 so thatthe location marker is not obscured by the second finger gesture (FIG.10A). More details on moving the location marker 1002-1 will bediscussed in reference to FIG. 12C(1)-12C(5) below.

While displaying the map and the user-moveable location marker, thedevice displays (1108) a user-selectable region for obtaininginformation associated with a current location of the user-moveablelocation marker on the map. For example, UI 1000A (FIG. 10A) includes auser selectable region 1004 for obtaining information associated withthe marker 1002-1. In some embodiments, the user-selectable region 1004is denoted by a chevron (e.g. “>”) and moves with the marker. In someembodiments, the display of user-selectable regions 1006 and 1004 istoggled on by a finger tap on the location marker 1002-1 and toggled offby a finger tap on region 1006. In other embodiments, region 1006 is auser-selectable region for obtaining information associated with acurrent location of the user-moveable location marker on the map.

In response to detecting a third finger gesture on the user-selectableregion for obtaining information, the display of the map and theuser-moveable location marker is replaced (1110) with a display of aplurality of option icons. For example, in response to a third fingergesture 1010 on the user-selectable region 1004 (FIG. 10A), the devicereplaces the display of the map 5266 and the marker 1002-1 with adisplay of a plurality of option icons (e.g., icons 1024, 1026, 1028,1030, 1032, and 1034 in UI 1000B, FIG. 10B). The plurality of optionicons includes a first icon (add to bookmarks icon 1024), a second icon(directions to here icon 1026), and a third icon (directions from hereicon 1028) that are described in more detail below.

In response to detection of a finger gesture on the first icon, thedisplay of the plurality of option icons is replaced (1110) with adisplay of a user interface for adding an entry to a set of bookmarkedlocations. The added entry corresponds to the current location of theuser-moveable location marker on the map. For example, in UI 1000B (FIG.10B), in response to detection of a finger gesture 1036 on the add tobookmarks icon 1024, the display of the plurality of option icons isreplaced with a display of a user interface (e.g., UI 1000E FIG. 10E)for adding an entry to a set of bookmarked locations. UI 1000E mayinclude a text input box for modifying the name of the location marker(“Dropped Pin”, FIG. 10E) with a soft keyboard 5236.

In some embodiments, adding the entry to the set of bookmarked locationsincludes displaying a sequence of graphical user interfaces responsiveto user gestures for adding the entry to the set of bookmarkedlocations.

In response to detection of a finger gesture on the second icon, thedisplay of the plurality of option icons is replaced (1110) with adisplay of a user interface for getting directions to the currentlocation of the user-moveable location marker on the map from anotherlocation. For example, in response to a finger gesture 1038 (FIG. 10B)on the directions to here icon 1026, the display of the plurality ofoption icons is replaced with a display of a user interface UI 1000C(FIG. 10C) for getting directions to the location of the marker on themap. In UI 1000C (FIG. 10C), the area 5215 for entering the end point isautomatically populated with the name of the location marker (e.g.,“Dropped Pin” in FIG. 10C). The user then merely has to enter thestarting location and activate the route initiation icon 5227 (e.g., bya finger tap on the icon) to obtain directions to the current locationof the user-moveable location marker on the map. In some embodiments,the device requests a reverse lookup to identify the current location ofthe marker.

In response to detection of a finger gesture on the third icon, thedisplay of the plurality of option icons is replaced (1110) with adisplay of a user interface for getting directions from the currentlocation of the user-moveable location marker on the map to anotherlocation. For example, in response to a finger gesture 1040 (FIG. 10B)on the directions from here icon 1028, the display of the plurality ofoption icons is replaced with a display of a user interface UI 1000D(FIG. 10D) for getting directions from the location of the marker on themap. In UI 1000D (FIG. 10D), the area 5213 for entering the start pointis automatically populated with the name of the location marker (e.g.,“Dropped Pin” in FIG. 10D). The user then merely has to enter the endinglocation and activate the route initiation icon 5227 (e.g., by a fingertap on the icon) to obtain directions from the current location of theuser-moveable location marker on the map. In some embodiments, thedevice requests a reverse lookup to identify the current location of themarker.

In some embodiments, the plurality of option icons include a fourth icon(remove location marker icon 1030), wherein in response to detection ofa finger gesture on the fourth icon, the user-moveable location markeris deleted. For example, in response to a finger gesture 1042 (FIG. 10B)on the remove location marker icon 1030 (e.g. “Remove Pin”), thecorresponding user-moveable location marker 1002-1 is deleted from themap 5266 (FIG. 10A).

In some embodiments, the plurality of option icons include an icon foradding an entry to a list of contacts, the added entry includinglocation information corresponding to the map location of the marker.For example, in response to a finger gesture 1044 (FIG. 10B) on thecreate new contact icon 1032, UI 1000B is replaced with display of auser interface (or series of user interfaces) for adding an entry to aset of contacts, the added entry including location informationcorresponding to the location of the user-moveable location marker1002-1 on the map 5266 (FIG. 10A).

In some embodiments, the plurality of option icons include an icon forupdating an entry in a list of contacts to include location informationcorresponding to the current location of the user-moveable locationmarker on the map. For example, in response to a finger gesture 1046(FIG. 10B) on the add to existing contact icon 1034, UI 1000B isreplaced with display of a user interface (or series of user interfaces)for updating an entry in a set of contacts to include locationinformation corresponding to the location of the user-moveable locationmarker 1002-1 on the map 5266 (FIG. 10A).

FIGS. 12A-12E illustrate examples of user interactions with a displayedmap, a user-moveable location marker, and information associated withthe location marker via finger gestures in accordance with someembodiments. FIGS. 12A-12E are used to illustrate the process 1300described below with respect to FIG. 13.

FIG. 13 is a flow diagram illustrating a method 1300 for interactingwith a displayed map and a location marker in accordance with someembodiments. The method 1300 distinguishes between gestures intended tomove a map, gestures intended to move a location marker rather than themap, gestures intended for getting additional information about thelocation marker, and gestures intended for other types of interactionswith the map. The method 1300 occurs at a computing device with a touchscreen display (e.g., portable multifunction device 100). The methodpermits a map application on a touch screen display to respond toimprecise finger gestures in a manner that conforms to a user'sexpectations. In other words, the method enables a user's fingergestures to control a map application in a simple, intuitive way.

In response to detecting a first finger gesture on a marker on a digitalmap on the touch screen display, the device moves (1302) the digital mapon the touch screen display. The first finger gesture moves a fingercontact area more than a first predetermined distance in a firstpredetermined time when a finger in the first finger gesture initiallytouches the touch screen display.

For example, in FIG. 12A, first finger gesture 1202 moves a fingercontact area 1204 more than a first predetermined distance (e.g., 3-5mm) in a first predetermined time (e.g., 0.2-0.3 seconds) when a fingerin the first finger gesture 1202 initially touches the touch screendisplay. In response to detecting first finger gesture 1202 on a marker1002 on a digital map 5266 on the touch screen display, the device moves(1302) the digital map 5266 on the touch screen display, as shown inFIG. 12A.

The device interprets the initial movement in the first finger gesture1202 as an instruction to move the displayed map (e.g., in accordancewith the movement of the first finger gesture), rather than interpretingthe first finger gesture as some other instruction (e.g., an instructionassociated with the second, third, fourth, or fifth finger gestures,described below).

In response to detecting a second finger gesture on the marker on thedigital map on the touch screen display, the device displays (1304) auser-selectable region for obtaining information associated with themarker on the touch screen display. The second finger gesture is asingle tap gesture that moves a finger contact area less than a secondpredetermined distance and lasts less than a second predetermined time.

For example, in FIG. 12B, second finger gesture 1206 is a single tapgesture that moves a finger contact area 1208 less than a secondpredetermined distance (e.g., 3-5 mm) and lasts less than a secondpredetermined time (e.g., 0.2-0.3 seconds). In response to detecting thesecond finger gesture 1206 on the marker 1002 on the digital map 5266 onthe touch screen display, the device displays (1304) a user-selectableregion 1004 for obtaining information associated with the marker 1002 onthe touch screen display, as shown in FIG. 12B.

The device interprets the second finger single tap gesture 1206 as aninstruction to display user-selectable region 1004 for obtaininginformation associated with the marker 1002, rather than interpretingthe second finger gesture as some other instruction (e.g., aninstruction associated with the first, third, fourth, or fifth fingergestures).

In some embodiments, the second predetermined distance for the secondgesture is the same as the first predetermined distance for the firstgesture. Alternatively, in some embodiments, the second predetermineddistance for the second gesture is different from the firstpredetermined distance for the first gesture. In some embodiments, thesecond predetermined time for the second gesture is the same as thefirst predetermined time for the first gesture. Alternatively, in someembodiments, the second predetermined time for the second gesture isdifferent from, the first predetermined time for the first gesture.

In response to detecting a third finger gesture on a user-moveablelocation marker on the digital map on the touch screen display, thedevice moves (1306) the user-moveable location marker on the digital mapin accordance with the third finger gesture. The third finger gestureincludes a stationary (or substantially stationary) contact followed bytranslation of a finger contact area on the touch screen display afterthe second predetermined time ends. The stationary (or substantiallystationary) contact moves the finger contact area less than a thirdpredetermined distance and lasts more than the second predeterminedtime.

For example, in FIG. 12C, third finger gesture 1212 includes astationary (or substantially stationary) contact 1212-1 followed bytranslation 1212-2 of a finger contact area on the touch screen displayafter the second predetermined time ends. The stationary (orsubstantially stationary) contact 1212-1 moves the finger contact arealess than a third predetermined distance (e.g., 3-5 mm) and lasts morethan the second predetermined time (e.g., 0.2-0.3 seconds). In responseto detecting the third finger gesture 1212 on a user-moveable locationmarker 1002 (FIG. 12C) on the digital map on the touch screen display,the device moves (1306) the user-moveable location marker 1002 on thedigital map in accordance with the third finger gesture (e.g., in FIGS.12C(1)-12C(5), from 4^(th) street to 6^(th) street in accordance withtranslation 1212-2).

In some embodiments, the third finger gesture 1212 includes a fingercontact area 1214 that moves on the touch screen. In some embodiments,moving the user-moveable location marker 1002 on the map 5266 inaccordance with the third finger gesture 1212-2 includes displaying theuser-moveable location marker 1002 offset from the moving finger contactarea 1214 during the third finger gesture 1212-2. For example, in FIG.12C(1), the user-moveable location marker 1002 is initially obscured byfinger contact area 1214. After contact 1212-1 has exceeded the secondpredetermined time (e.g., 0.2-0.3 seconds), the user-moveable locationmarker 1002 may be offset from the finger contact area 1214 (FIG.12C(2)). In some embodiments, an animation is displayed that shows theuser-moveable location marker 1002 being offset from the finger contactarea 1214 (e.g., an animation that transitions from FIG. 12C(1) to FIG.12C(2)). In some embodiments, a shadow 1210 of the user-moveablelocation marker 1002 is displayed. In some embodiments, the shadow 1210touches the user-moveable location marker 1002 to indicate that themarker 1002 is “attached” to the map 5266 and cannot be moved (e.g.,FIGS. 12C(1) and 12C(5)). In some embodiments, the shadow 1210 isseparated from the user-moveable location marker 1002 to indicate thatthe marker 1002 has been “detached” or “lifted up” from the map 5266 sothat the marker 1002 (but not the map 5266) will move in accordance withthe finger gesture (e.g., the marker moves in accordance with gesture1212-2 in FIGS. 12C(2)-12C(4), with the shadow 1210 separated from themarker 1002).

In some embodiments, the user-moveable location marker 1002 is offsetfrom the moving finger contact area such that a user's view of theuser-moveable location marker is not obscured by the third fingergesture while moving the user-moveable location marker 1002 on the map5266 in accordance with the third finger gesture. For example, thefinger contact area 1214 in FIGS. 12C(2)-12C(4) is offset from themoving location marker 1002 so that the location marker 1002 is notobscured by the third finger gesture.

The device interprets the third finger gesture 1212 as an instruction tomove the user-moveable location marker 1002 on the digital map inaccordance with the third finger gesture 1212, rather than interpretingthe third finger gesture as some other instruction (e.g., an instructionassociated with the first, second, fourth, or fifth finger gestures).

In some embodiments, in response to detecting a fourth finger gesture onor near the marker on the digital map on the touch screen display, thedevice magnifies (1308) an area of the map that includes the marker onthe touch screen display. The fourth finger gesture is a single-finger,double tap gesture that moves a finger contact area less than a fourthpredetermined distance and lasts less than a fourth predetermined time.In some embodiments, the fourth predetermined time is equal to thesecond predetermined time.

For example, in FIG. 12D, the fourth finger gesture 1216 is asingle-finger, double tap gesture that moves a finger contact area 1218less than a fourth predetermined distance (e.g., 3-5 mm) and lasts lessthan a fourth predetermined time (e.g., 0.2-0.3 seconds). In someembodiments, in response to detecting the fourth finger gesture 1216 onor near the marker 1002 on the digital map 5266 on the touch screendisplay, the device magnifies (1308) an area of the map that includesthe marker 1002 on the touch screen display (FIG. 12D). In someembodiments, the fourth predetermined time is equal to the secondpredetermined time. In some embodiments, the device compares the timedelay between detection of a first tap gesture and a second tap gestureto a predetermined value (e.g., 0.1-0.2 seconds) to determine if theuser is making a double tap gesture. In some embodiments, the devicealso compares a change in location of the first tap gesture and thesecond tap gesture to a predetermined value (e.g., 3-5 mm) to determineif the user is making a double tap gesture.

The device interprets the fourth finger gesture 1216 as an instructionto magnify an area of the map that includes the marker, rather thaninterpreting the fourth finger gesture as some other instruction (e.g.,an instruction associated with the first, second, third, or fifth fingergestures).

In some embodiments, in response to detecting a fifth finger gesture onthe marker on the digital map on the touch screen display, the devicedemagnifies (1310) an area of the map that includes the marker on thetouch screen display. The fifth finger gesture is a two-finger, doubletap gesture that lasts less than a fifth predetermined time. In someembodiments, the fifth predetermined time is equal to the secondpredetermined time.

For example, in FIG. 12E, the fifth finger gesture 1218 is a two-finger,double tap gesture that lasts less than a fifth predetermined time(e.g., 0.2-0.3 seconds). In response to detecting the fifth fingergesture 1218 on the marker 1002 on the digital map 5266 on the touchscreen display, the device demagnifies (1310) an area of the map thatincludes the marker on the touch screen display (FIG. 12E). In someembodiments, the fifth predetermined time is equal to the secondpredetermined time. In some embodiments, the device compares the timedelay between detection of a first two-finger tap gesture and a secondtwo-finger tap gesture to a predetermined value (e.g., 0.1-0.2 seconds)to determine if the user is making a two-finger double tap gesture. Insome embodiments, the device also compares changes in locations of thetwo fingers in the first tap gesture and the two fingers in the secondtap gesture to predetermined values (e.g., 3-5 mm) to determine if theuser is making a two-finger double tap gesture.

The device interprets the fifth finger gesture 1218 as an instruction todemagnify an area of the map that includes the marker, rather thaninterpreting the fifth finger gesture as some other instruction (e.g.,an instruction associated with the first, second, third, or fourthfinger gestures).

FIG. 14 is a flow diagram illustrating a method 1400 for obtainingdirections in accordance with some embodiments. The method 1400 occursat a computing device with a touch screen display (e.g., portablemultifunction device 100).

The computing device displays (1402) a map application. The mapapplication is configured to separately display:

-   -   a list 5240 (FIG. 10F) of bookmarked locations, wherein a        current location icon 1070 for the device is displayed at the        top of the list of bookmarked locations 5434;    -   a list 5246 (FIG. 5H) of recent queries by a user;    -   a list 5252 (FIG. 5J) of contacts for the user; and    -   a keyboard 5216 with a mute search initiation icon 5225 (FIG.        5R);

In some embodiments, if the view location icon 602 (FIG. 6A) isactivated (e.g., by a finger tap 610 on the icon), a current locationicon 1070 corresponding to the current location of the device isdisplayed at the top of the list of bookmarked locations 5434 even ifthe current location has not been made into a bookmark (e.g., even if UI1000E (FIG. 10E) is not used on the current location). In process 1400,the current location icon 1070 is treated as a bookmarked location evenif it is not an actual bookmarked location.

In some embodiments, the list 5240 (FIG. 10F) of bookmarked locationsmay include an entry 1070 corresponding to the current location of thedevice and an entry 1072 (e.g., “Dropped Pin”) corresponding to thelocation of a user-moveable marker 1002. In some embodiments, entries1070 and 1072 are displayed at the top of the list of bookmarkedlocations 5434 (e.g., in the first two positions in the list) even ifthese two entries have not been made into bookmarks (e.g., even if UI1000E (FIG. 10E) is not used on the current location or the location ofa corresponding user-moveable marker 1002). In process 1400, entries1070 and 1072 are treated as bookmarked locations even if entries 1070and 1072 are not actual bookmarked locations. Having one or both ofthese entries at the top of the list of bookmarked locations makes iteasy for a user to add these locations to a search, to the startinglocation of a route search, and/or to the ending location of a routesearch (e.g., by a finger tap on entry 1070 or entry 1072).

In response to detecting a finger gesture on an input icon associatedwith the first area (e.g., input icon 5219 associated with area 5213,FIG. 10C), the device displays (1408):

-   -   the list 5240 (FIG. 10F) of bookmarked locations, wherein in        response to detecting a finger gesture on a bookmarked location        (including entry 1070 or entry 1072) in the list of bookmarked        locations, the map application receives an address or name,        corresponding to the bookmarked location, when the address or        name is entered in the first area;    -   the list 5246 (FIG. 5H) of recent queries by the user, wherein        in response to detecting a finger gesture on a location in the        list of recent queries by the user, the map application receives        an address corresponding to the location when the address is        entered in the first area; or    -   the list 5252 (FIG. 5J) of contacts for the user, wherein in        response to detecting a finger gesture on a contact in the list        of contacts for the user, the map application receives an        address associated with the contact when the address is entered        in the first area;

In response to detecting a finger gesture on an input icon associatedwith the second area (e.g., input icon 5223 associated with area 5215,FIG. 10C), the device displays (1410):

-   -   the list 5240 (FIG. 10F) of bookmarked locations, wherein in        response to detecting a finger gesture on a bookmarked location        (including entry 1070 or entry 1072) in the list of bookmarked        locations, the map application receives an address or name,        corresponding to the bookmarked location, when the address or        name corresponding to the bookmarked location is entered in the        second area;    -   the list 5246 (FIG. 5H) of recent queries by the user, wherein        in response to detecting a finger gesture on a location in the        list of recent queries by the user, the map application receives        an address corresponding to the location when the address        corresponding to the location is entered in the second area; or    -   the list 5252 (FIG. 5J) of contacts for the user, wherein in        response to detecting an finger gesture on a contact in the list        of contacts for the user, the map application receives an        address associated with the contact when the address associated        with the contact is entered in the second area.

In response to detecting a finger gesture on the route search initiationicon (e.g., 5227, FIG. 10C), the device (1412):

-   -   sends the first location and the second location to a remote        computer;    -   receives muting information between the first location and the        second location; and    -   displays at least some of the routing information between the        first location and the second location on a digital map.

FIG. 15 is a flow diagram illustrating a method for displaying andmoving a user-moveable location marker 1002 on a map in accordance withsome embodiments. The method 1500 occurs at a computing device with atouch screen display (e.g., portable multifunction device 100). Themethod 1500 provides a simple way for a user to place a location markeron the displayed map, and retrieve information associated with thelocation of the marker (e.g., the address of the marker and directionsto or from the marker).

The device displays (1502) a map application (e.g., 154, FIG. 1B). Themap application is configured to display a map (e.g., map 5266, FIG.10A). In response to detecting a stationary first finger gesture (e.g.,1016, FIG. 10A) on the displayed map for greater than a predeterminedtime, the device displays (1504) a user-moveable location marker (e.g.,marker 1002-1, FIG. 10A) on the map. Thus, in method 1500, auser-moveable location marker is added to a map merely by touching andholding a finger on the touch screen display for greater than apredetermined time (e.g., 0.5-1.0 seconds). The remainder of method 1500is similar to method 1100, described above

In response to detecting a second finger gesture on the user-moveablelocation marker, the device moves (1506) the user-moveable locationmarker on the map in accordance with the second finger gesture. Forexample, in FIG. 10A, the device moves the location marker 1002-1 inaccordance with a second finger gesture 1012.

In some embodiments, the second finger gesture (e.g., 1012, FIG. 10A)includes a finger contact area that moves on the touch screen. In someembodiments, moving the user-moveable location marker on the map inaccordance with the second finger gesture includes displaying theuser-moveable location marker offset from the moving finger contact areaduring the second finger gesture. For example, in FIG. 10A the secondfinger gesture includes a finger contact area 1013 that moves on thetouch screen. The user-moveable marker 1002-1 is offset from the movingfinger contact area 1013. More details on moving the marker 1002-1 werediscussed with respect to FIG. 12C(1)-12C(5) above.

In some embodiments, the user-moveable location marker is offset fromthe moving finger contact area such that a user's view of theuser-moveable location marker is not obscured by the second fingergesture while moving the user-moveable location marker on the map inaccordance with the second finger gesture. For example, the fingercontact area (e.g., area 1013, FIG. 10A, and area 1214, FIG.12C(2)-12C(4)) is offset from the moving location marker 1002-1 so thatthe location marker is not obscured by the second finger gesture (FIG.10A). More details on moving the location marker 1002-1 were discussedin reference to FIG. 12C(1)-12C(5) above.

In some embodiments, the device displays (1508) text identifying thecurrent location of the user-moveable location marker on the map. Forexample, the device may be configured to automatically display textidentifying the current location in user-selectable region 1006 (FIG.10A). In some embodiments, text identifying the location of the markermay be displayed elsewhere in UI 1000A (FIG. 10A) or in an interface(e.g., UI 1000B, FIG. 10B) for displaying additional options andinformation associated with the location marker.

In some embodiments, the device transmits (1510) a request for a reverselookup of the current location of the user-moveable location marker onthe map and receives information identifying the current location of theuser-moveable location marker on the map. In some embodiments, thedevice transmits the request for the reverse lookup without userintervention at predetermined times (e.g., when the marker is initiallyplaced on the map and after the marker has been moved on the map). Insome embodiments, the device transmits the request for the reverselookup in response to a user request (e.g., in response to detecting afinger tap gesture 1016 on location marker 1002-1 (FIG. 10A). In someembodiments, UI 1000A (FIG. 10A) or U 1000B (FIG. 10B) contains areverse lookup icon (not shown) allowing the user to request a reverselookup of the marker location.

While displaying the map and the user-moveable location marker, thedevice displays (1512) a user-selectable region for obtaininginformation associated with a current location of the user-moveablelocation marker on the map. For example, UI 1000A (FIG. 10A) includes auser selectable region 1004 for obtaining information associated withthe marker 1002-1. In some embodiments, the user-selectable region 1004is denoted by a chevron (e.g. “>”) and moves with the marker. In someembodiments, the display of user-selectable regions 1006 and 1004 istoggled on by a finger tap on the location marker 1002-1 and toggled offby a finger tap on region 1006. In other embodiments, region 1006 is auser-selectable region for obtaining information associated with acurrent location of the user-moveable location marker on the map

In response to detecting a third finger gesture on the user-selectableregion for obtaining information, the display of the map and theuser-moveable location marker is replaced (1514) with a display of aplurality of option icons. For example, in response to a third fingergesture 1010 on the user-selectable region 1004 (FIG. 10A), the devicereplaces the display of the map 5266 and the marker 1002-1 with adisplay of a plurality of option icons (e.g., icons 1024, 1026, 1028,1030, 1032, and 1034 in UI 1000B, FIG. 10B). The plurality of optionicons includes a first icon (add to bookmarks icon 1024), a second icon(directions to here icon 1026), and a third icon (directions from hereicon 1028) that are described in more detail below.

In response to detection of a finger gesture on the first icon, thedisplay of the plurality of option icons is replaced (1514) with adisplay of a user interface for adding an entry to a set of bookmarkedlocations. The added entry corresponds to the current location of theuser-moveable location marker on the map. For example, in UI 1000B (FIG.10B), in response to detection of a finger gesture 1036 on the add tobookmarks icon 1024, the display of the plurality of option icons isreplaced with a display of a user interface (e.g., UI 1000E FIG. 10E)for adding an entry to a set of bookmarked locations. UI 1000E mayinclude a text input box for modifying the name of the location marker(“Dropped Pin”, FIG. 10E) with a soft keyboard 5236.

In some embodiments, adding the entry to the set of bookmarked locationsincludes displaying a sequence of graphical user interfaces responsiveto user gestures for adding the entry to the set of bookmarkedlocations.

In response to detection of a finger gesture on the second icon, thedisplay of the plurality of option icons is replaced (1514) with adisplay of a user interface for getting directions to the currentlocation of the user-moveable location marker on the map from anotherlocation. For example, in response to a finger gesture 1038 (FIG. 10B)on the directions to here icon 1026, the display of the plurality ofoption icons is replaced with a display of a user interface UI 1000C(FIG. 10C) for getting directions to the location of the marker on themap. In UI 1000C (FIG. 100C), the area 5215 for entering the end pointis automatically populated with the name of the location marker (e.g.,“Dropped Pin” in FIG. 10C). The user then merely has to enter thestarting location and activate the route initiation icon 5227 (e.g., bya finger tap on the icon) to obtain directions to the current locationof the user-moveable location marker on the map. In some embodiments,the device requests a reverse lookup to identify the current location ofthe marker.

In response to detection of a finger gesture on the third icon, thedisplay of the plurality of option icons is replaced (1514) with adisplay of a user interface for getting directions from the currentlocation of the user-moveable location marker on the map to anotherlocation. For example, in response to a finger gesture 1040 (FIG. 10B)on the directions from here icon 1028, the display of the plurality ofoption icons is replaced with a display of a user interface UT 1000D(FIG. 10D) for getting directions from the location of the marker on themap. In UI 1000D (FIG. 10D), the area 5213 for entering the start pointis automatically populated with the name of the location marker (e.g.,“Dropped Pin” in FIG. 10D). The user then merely has to enter the endinglocation and activate the route initiation icon 5227 (e.g., by a fingertap on the icon) to obtain directions from the current location of theuser-moveable location marker on the map. In some embodiments, thedevice requests a reverse lookup to identify the current location of themarker.

In some embodiments, the plurality of option icons include a fourth icon(remove location marker icon 1030), wherein in response to detection ofa finger gesture on the fourth icon, the user-moveable location markeris deleted. For example, in response to a finger gesture 1042 (FIG. 10B)on the remove location marker icon 1030 (e.g. “Remove Pin”), thecorresponding user-moveable location marker 1002-1 is deleted from themap 5266 (FIG. 10A).

In some embodiments, the plurality of option icons include an icon foradding an entry to a list of contacts, the added entry includinglocation information corresponding to the map location of the marker.For example, in response to a finger gesture 1044 (FIG. 10B) on thecreate new contact icon 1032, UI 1000B is replaced with display of auser interface (or series of user interfaces) for adding an entry to aset of contacts, the added entry including location informationcorresponding to the location of the user-moveable location marker1002-1 on the map 5266 (FIG. 10A).

In some embodiments, the plurality of option icons include an icon forupdating an entry in a list of contacts to include location informationcorresponding to the current location of the user-moveable locationmarker on the map. For example, in response to a finger gesture 1046(FIG. 10B) on the add to existing contact icon 1034, UI 1000B isreplaced with display of a user interface (or series of user interfaces)for updating an entry in a set of contacts to include locationinformation corresponding to the location of the user-moveable locationmarker 1002-1 on the map 5266 (FIG. 10A).

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. (canceled)
 2. A computing device, comprising: a touch screen display;one or more processors; memory; and one or more programs, wherein theone or more programs are stored in the memory and configured to beexecuted by the one or more processors, the one or more programsincluding instructions for: displaying a map application, wherein themap application is configured to display a map; receiving locationinformation for the computing device; and in response to detecting auser gesture on a view location icon while the map application isdisplayed: displaying a first visual indicator on a portion of thedisplayed map that indicates an approximate region in which thecomputing device is located in accordance with the received locationinformation when the approximate region lies within the displayed map;and displaying a second visual indicator around a perimeter of thedisplayed map when the approximate region includes the displayed map andalso extends beyond the displayed map; changing from displaying thefirst visual indicator to displaying the second visual indicator inresponse to magnifying an area of the map that includes the approximateregion in which the computing device is located; and changing fromdisplaying the second visual indicator to displaying the first visualindicator in response to demagnifying an area of the map that includesthe approximate region in which the computing device is located.
 3. Thecomputing device of claim 2, wherein detecting the user gesture on theview location icon initiates a request for the location information forthe computing device.
 4. The computing device of claim 2, wherein theone or more programs further include instructions for receiving thelocation information from a transmitting device that is located withinthe region corresponding to the displayed first visual indicator.
 5. Thecomputing device of claim 2, wherein the location informationcorresponds to one or more terrestrial transmitting devices from whichthe computing device receives signals.
 6. The computing device of claim2, wherein the one or more programs further include instructions for:receiving signals from a plurality of services capable of providing thelocation information; and selecting location information from one of theplurality of services in accordance with location information selectioncriteria.
 7. The computing device of claim 2, wherein the first visualindicator includes a circle displayed on the displayed map.
 8. Thecomputing device of claim 2, wherein the first visual indicator includesa rectangle displayed on the displayed map.
 9. The computing device ofclaim 2, wherein the second visual indicator includes a rectangledisplayed at the boundary of the displayed map.
 10. Acomputer-implemented method, comprising: at a computing device with atouch screen display: displaying a map application, wherein the mapapplication is configured to display a map; receiving locationinformation for the computing device; and in response to detecting auser gesture on a view location icon while the map application isdisplayed: displaying a first visual indicator on a portion of thedisplayed map that indicates an approximate region in which thecomputing device is located in accordance with the received locationinformation when the approximate region lies within the displayed map;and displaying a second visual indicator around a perimeter of thedisplayed map when the approximate region includes the displayed map andalso extends beyond the displayed map; changing from displaying thefirst visual indicator to displaying the second visual indicator inresponse to magnifying an area of the map that includes the approximateregion in which the computing device is located; and changing fromdisplaying the second visual indicator to displaying the first visualindicator in response to demagnifying an area of the map that includesthe approximate region in which the computing device is located.
 11. Anon-transitory computer readable storage medium storing one or moreprograms configured to be executed by one or more processors of acomputing device with a touch screen display, the one or more programsincluding instructions for: displaying a map application, wherein themap application is configured to display a map; receiving locationinformation for the computing device; and in response to detecting agesture on a view location icon while the map application is displayed:displaying a first visual indicator on a portion of the displayed mapthat indicates an approximate region in which the computing device islocated in accordance with the received location information when theapproximate region lies within the displayed map; and displaying asecond visual indicator around a perimeter of the displayed map when theapproximate region includes the displayed map and also extends beyondthe displayed map; changing from displaying the first visual indicatorto displaying the second visual indicator in response to magnifying anarea of the map that includes the approximate region in which thecomputing device is located; and changing from displaying the secondvisual indicator to displaying the first visual indicator in response todemagnifying an area of the map that includes the approximate region inwhich the computing device is located.